)]}'
{
  "log": [
    {
      "commit": "7546dd97d27306d939c13e03318aae695badaa88",
      "tree": "ced310466fd679ceae4e676ae8c31fd78b7bd72f",
      "parents": [
        "3f612132c7164d5cc9ed677a2fdf8950222d2170"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Mon Mar 09 08:18:29 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 10 05:22:43 2009 -0700"
      },
      "message": "net: convert usage of packet_type to read_mostly\n\nProtocols that use packet_type can be __read_mostly section for better\nlocality. Elminate any unnecessary initializations of NULL.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d6781f2af8567524f8c95d9907718a6c61fe417d",
      "tree": "88ad7177f33d88cd39ec7af057f3bfe1e0654197",
      "parents": [
        "416c6f90f8a107ccae3788bb9798d10a2dac9ed0"
      ],
      "author": {
        "name": "Hannes Eder",
        "email": "hannes@hanneseder.net",
        "time": "Sat Feb 14 11:13:52 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 17 17:21:12 2009 -0800"
      },
      "message": "drivers/net/ppp*.c: fix sparse warnings: fix signedness\n\nFix this sparse warnings:\n  drivers/net/ppp_generic.c:919:43: warning: incorrect type in argument 1 (different signedness)\n  drivers/net/pppoe.c:1195:43: warning: incorrect type in argument 1 (different signedness)\n  drivers/net/pppol2tp.c:2666:43: warning: incorrect type in argument 1 (different signedness)\n\nSigned-off-by: Hannes Eder \u003channes@hanneseder.net\u003e\nAcked-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0012985d184b7b9d4513eacd35771715471e06ef",
      "tree": "ff373d8986fbdda1d7ac895c4265e38cd0393f7c",
      "parents": [
        "aa6320d336971171df1d13c1c284facf10804881"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Feb 09 18:05:16 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 09 18:05:16 2009 -0800"
      },
      "message": "ppp: section fixes re netns\n\nPPP is modular code so no initdata on netns hooks.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "09640e6365c679b5642b1c41b6d7078f51689ddf",
      "tree": "a2b80c153bd23fe59db8c6994fda29923819fcea",
      "parents": [
        "ee437770c42088b9b653e8b3bf28a61fa647f84e"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Sun Feb 01 00:45:17 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Feb 01 00:45:17 2009 -0800"
      },
      "message": "net: replace uses of __constant_{endian}\n\nBase versions handle constant folding now.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3617aa485c7394e20fdaf356b1b78516fcaaa0d1",
      "tree": "ab7decb45c662db1ba19664fa686ef61c2b8e820",
      "parents": [
        "cbec6605cf0fd5080f03eb787c95c1ecd660421f"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Mon Jan 26 21:11:02 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 26 21:11:02 2009 -0800"
      },
      "message": "net: pppoe - stop using proc internals\n\nAlexey Dobriyan pointed that using PDE_NET outside the\nproc code is plain bogus (thanks Alexey!). Fix it.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e35fac80ed0bb878f652cc0f70ca268656d275f7",
      "tree": "fbf4d2f1810fb1a65c9070aece324e49978b3bdf",
      "parents": [
        "4fe1d58bf56f69de68868630d222322a6b45bb55"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Thu Jan 22 13:52:26 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 22 13:52:26 2009 -0800"
      },
      "message": "net: pppoe - get rid of DECLARE_MAC_BUF\n\nWhile was playing with PPP namespaces I occasionally brought\nback DECLARE_MAC_BUF which is not needed (we have %pM here).\nFix it.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f5882c30508c1e3c4fbbdaa9ca08d0922c5fb071",
      "tree": "54522f9e2fe8d88221364c8b3edaa7215c7d48ed",
      "parents": [
        "273ec51dd7ceaa76e038875d85061ec856d8905e"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Wed Jan 21 15:55:40 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 15:55:40 2009 -0800"
      },
      "message": "net: pppoe,pppol2tp - register channels with explicit net\n\nIn PPPo[E|L2TP] we could explicitly point which net namespace\nwe\u0027re going to use for channels - make it so.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a6bcf1c1d38e0672db35e0d9f2504ac04ddf3ed5",
      "tree": "b6a27576096c40a89502f22bf420a408c54b2d63",
      "parents": [
        "6aba915881918a429d656e874f7fec2efd37ad96"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Wed Jan 21 15:54:54 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 15:54:54 2009 -0800"
      },
      "message": "net: pppoe - introduce net-namespace functionality\n\n- each net-namespace for pppoe module is having own\n  hash table and appropriate locks wich are allocated\n  at time of namespace intialization. It requires about\n  140 bytes of memory for every new namespace but such\n  approach allow us to escape from hash chains growing\n  and additional lock contends (especially in SMP environment).\n\n- pppox code allows to create per-namespace sockets for\n  PX_PROTO_OE protocol only (since at this moment support\n  for pppol2tp net-namespace is not implemented yet).\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6aba915881918a429d656e874f7fec2efd37ad96",
      "tree": "dd04553bf94de691d6951768240092c122570805",
      "parents": [
        "e2878806227d223467f84f900ef4c6733ee166df"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@openvz.org",
        "time": "Wed Jan 21 15:54:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 15:54:15 2009 -0800"
      },
      "message": "net: pppoe - code cleanup and helpers\n\n- Introduce PPPOE_HASH_MASK.\n- Remove redundant declaration of pppoe_chan_ops.\n- Introduce stage_session helper.\n- Tabs, space, long-line-split cleanup.\n\nSigned-off-by: Cyrill Gorcunov \u003cgorcunov@openvz.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4101dec9ca64d40f0d673f0a40ba46ba2c60e117",
      "tree": "b730cbe021559ef06a2df16344be91457ee1b684",
      "parents": [
        "991990a12de42281f81b4e3a6471586d2d0caf6a"
      ],
      "author": {
        "name": "Jan Engelhardt",
        "email": "jengelh@medozas.de",
        "time": "Wed Jan 14 13:52:18 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 14:03:37 2009 -0800"
      },
      "message": "net: constify VFTs\n\nSigned-off-by: Jan Engelhardt \u003cjengelh@medozas.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a1744d3bee19d3b9cbfb825ab316a101b9c9f109",
      "tree": "c0e2324c09beca0eb5782eb5abf241ea2b7a4a11",
      "parents": [
        "275f165fa970174f8a98205529750e8abb6c0a33",
        "a432226614c5616e3cfd211e0acffa0acfb4770c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:17:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 31 00:17:34 2008 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\n\tdrivers/net/wireless/p54/p54common.c\n"
    },
    {
      "commit": "263e69cbc9e5a9e7bcf6a24f641ef0717d1ae4df",
      "tree": "b82cb19bc63531782b018b3ad70c5e58dab44569",
      "parents": [
        "721d5dfe7e516954c501d5e9d0dfab379cf4241a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 30 23:11:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Oct 30 23:35:02 2008 -0700"
      },
      "message": "pppoe: Fix socket leak.\n\nMove SKB trim before we lookup the socket so we don\u0027t have to\nput it on failure.\n\nBased upon an initial patch by Jarek Poplawski and suggestions\nfrom Herbert Xu.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e174961ca1a0b28f7abf0be47973ad57cb74e5f0",
      "tree": "e8f74ecd420a0e380a71670e5aec5c2a0c15640a",
      "parents": [
        "0c68ae2605dbcf67414d8d1f19af93be44b355fb"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Mon Oct 27 15:59:26 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 27 17:06:18 2008 -0700"
      },
      "message": "net: convert print_mac to %pM\n\nThis converts pretty much everything to print_mac. There were\na few things that had conflicts which I have just dropped for\nnow, no harm done.\n\nI\u0027ve built an allyesconfig with this and looked at the files\nthat weren\u0027t built very carefully, but it\u0027s a huge patch.\n\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2645a3c3761ac25498db2e627271016c849c68e1",
      "tree": "bf9ef85b4aede7a1773af2971084911245385c2d",
      "parents": [
        "f630e43a215a3129d0c1173cae0bce6ea4855cf7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Jun 20 21:58:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 20 21:58:02 2008 -0700"
      },
      "message": "pppoe: warning fix\n\nFix warning:\ndrivers/net/pppoe.c: In function \u0027pppoe_recvmsg\u0027:\ndrivers/net/pppoe.c:945: warning: comparison of distinct pointer types lacks a cast\nbecause skb-\u003elen is unsigned int and total_len is size_t\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc6cffd177f9266af38dba96a2cea06c1e7ff932",
      "tree": "3d18d0ff6a5e72588ab154b65fe3d8649ffbc477",
      "parents": [
        "392fdb0e35055b96faa9c1cd6ab537805337cdce"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jun 10 14:08:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 14:08:25 2008 -0700"
      },
      "message": "pppoe: Unshare skb before anything else\n\nWe need to unshare the skb first as otherwise pskb_may_pull may\nwrite to a shared skb which could be bad.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "392fdb0e35055b96faa9c1cd6ab537805337cdce",
      "tree": "c39f1c89c575df054f60439dbffe7fc0a1f32f8b",
      "parents": [
        "ea23ec26727b4df97b4965715f0519b6ddc0aa4b"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jun 10 14:07:25 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 14:07:25 2008 -0700"
      },
      "message": "net pppoe: Check packet length on all receive paths\n\nThe length field in the PPPOE header wasn\u0027t checked completely.\nThis patch causes all packets shorter than the declared length\nto be dropped.\n\nIt also changes the memcpy_toiovec call to skb_copy_datagram_iovec\nso that paged packets (rare for PPPOE) are handled properly.\n\nThanks to Ilja of the Netric Security Team for discovering and\nreporting this bug, and Chris Wright for the total_len check.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a95609cb0283a23e519e607ff9fc2a4aa77e2532",
      "tree": "053d411aa27dafead6326a70d0ca3482bd2d0494",
      "parents": [
        "cf7acfab032ff262f42954328cdfd20a5d9aaaac"
      ],
      "author": {
        "name": "Denis V. Lunev",
        "email": "den@openvz.org",
        "time": "Tue Apr 29 01:02:29 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 29 08:06:22 2008 -0700"
      },
      "message": "netdev: use non-racy method for proc entries creation\n\nUse proc_create()/proc_create_data() to make sure that -\u003eproc_fops and -\u003edata\nbe setup before gluing PDE to main tree.\n\nSigned-off-by: Denis V. Lunev \u003cden@openvz.org\u003e\nCc: Jeff Garzik \u003cjgarzik@pobox.com\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.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": "3c582b30bc2592081e9b23e253ca098fa7d57dc2",
      "tree": "258f0191bb66aee5de4fb2d19bf71d7c716bee87",
      "parents": [
        "ac97f75faae2a18648145bc6bbcdd326bac6a1c2"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Wed Jan 23 20:54:07 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:11:27 2008 -0800"
      },
      "message": "[PPP]: Sparse warning fixes.\n\nFix a bunch of warnings in PPP and related drivers. Mostly because\nsparse doesn\u0027t like it when the the function is only marked private in\nthe forward declaration.\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.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": "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": "b963dc1df78399a2166c2e6e3eb726a2dc98cf11",
      "tree": "5a14d7d2cf9bebaaa1591c457fc30a42c3000b6d",
      "parents": [
        "53c03f5c9e3c05a2484ad6bb1d88c0aa54befa47"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Thu Aug 23 02:55:33 2007 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:52:04 2007 -0700"
      },
      "message": "pppoe: endianness\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "0795af5729b18218767fab27c44b1384f72dc9ad",
      "tree": "67c16df84aa6ec219340b8ea1b5cfb0e8150a216",
      "parents": [
        "95ea36275f3c9a1d3d04c217b4b576c657c4e70e"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Oct 03 17:59:30 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:42 2007 -0700"
      },
      "message": "[NET]: Introduce and use print_mac() and DECLARE_MAC_BUF()\n\nThis is nicer than the MAC_FMT stuff.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9dc86534051b78e41e5b746cccc291b57a3a311",
      "tree": "1cd4a1dde4c51b6311749428a22cc8a8f5436825",
      "parents": [
        "e730c15519d09ea528b4d2f1103681fa5937c0e6"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 13:02:17 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:09 2007 -0700"
      },
      "message": "[NET]: Make device event notification network namespace safe\n\nEvery user of the network device notifiers is either a protocol\nstack or a pseudo device.  If a protocol stack that does not have\nsupport for multiple network namespaces receives an event for a\ndevice that is not in the initial network namespace it quite possibly\ncan get confused and do the wrong thing.\n\nTo avoid problems until all of the protocol stacks are converted\nthis patch modifies all netdev event handlers to ignore events on\ndevices that are not in the initial network namespace.\n\nAs the rest of the code is made network namespace aware these\nchecks can be removed.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e730c15519d09ea528b4d2f1103681fa5937c0e6",
      "tree": "c117294523f4d004fb1d740610b6403e5744cdfc",
      "parents": [
        "6d34b1c27a72d5d1c73c567b2f6b1fde316e0eae"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:53:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:08 2007 -0700"
      },
      "message": "[NET]: Make packet reception network namespace safe\n\nThis patch modifies every packet receive function\nregistered with dev_add_pack() to drop packets if they\nare not from the initial network namespace.\n\nThis should ensure that the various network stacks do\nnot receive packets in a anything but the initial network\nnamespace until the code has been converted and is ready\nfor them.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1b8d7ae42d02e483ad94035cca851e4f7fbecb40",
      "tree": "81f8cc0ee49ef99cc67dfed3dc7b7ecb510abf8b",
      "parents": [
        "457c4cbc5a3dde259d2a1f15d5f9785290397267"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Oct 08 23:24:22 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:07 2007 -0700"
      },
      "message": "[NET]: Make socket creation namespace safe.\n\nThis patch passes in the namespace a new socket should be created in\nand has the socket code do the appropriate reference counting.  By\nvirtue of this all socket create methods are touched.  In addition\nthe socket create methods are modified so that they will fail if\nyou attempt to create a socket in a non-default network namespace.\n\nFailing if we attempt to create a socket outside of the default\nnetwork namespace ensures that as we incrementally make the network stack\nnetwork namespace aware we will not export functionality that someone\nhas not audited and made certain is network namespace safe.\nAllowing us to partially enable network namespaces before all of the\nexotic protocols are supported.\n\nAny protocol layers I have missed will fail to compile because I now\npass an extra parameter into the socket creation code.\n\n[ Integrated AF_IUCV build fixes from Andrew Morton... -DaveM ]\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "457c4cbc5a3dde259d2a1f15d5f9785290397267",
      "tree": "a2ceee88780cbce27433b9a4434b3e9251efd81a",
      "parents": [
        "07feaebfcc10cd35e745c7073667935246494bee"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Wed Sep 12 12:01:34 2007 +0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:06 2007 -0700"
      },
      "message": "[NET]: Make /proc/net per network namespace\n\nThis patch makes /proc/net per network namespace.  It modifies the global\nvariables proc_net and proc_net_stat to be per network namespace.\nThe proc_net file helpers are modified to take a network namespace argument,\nand all of their callers are fixed to pass \u0026init_net for that argument.\nThis ensures that all of the /proc/net files are only visible and\nusable in the initial network namespace until the code behind them\nhas been updated to be handle multiple network namespaces.\n\nMaking /proc/net per namespace is necessary as at least some files\nin /proc/net depend upon the set of network devices which is per\nnetwork namespace, and even more files in /proc/net have contents\nthat are relevant to a single network namespace.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "21d0c83302fb742b7ffb6089d40196166102f5ed",
      "tree": "b11439340d1bb097867b57589fc4b6ce2f371a6a",
      "parents": [
        "5588b40d7c2bff75ee573ed42d1738c73ce24492"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Sep 19 10:45:02 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 20 12:14:16 2007 -0700"
      },
      "message": "[PPP] pppoe: Fix double-free on skb after transmit failure\n\nWhen I got rid of the second packet in __pppoe_xmit I created\na double-free on the skb because of the goto abort on failure.\nThis patch removes that.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9cc20484e5e48c6a5deb4387c20fd45bfbdde8c",
      "tree": "f0a9f05ad00b8a506abeb3b42cb3346cef7d2155",
      "parents": [
        "e081e1e3ef4682802ac63b1e5e26158fb9ca9e90"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 16 16:21:16 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 16 16:21:16 2007 -0700"
      },
      "message": "[NET] skbuff: Add skb_cow_head\n\nThis patch adds an optimised version of skb_cow that avoids the copy if\nthe header can be modified even if the rest of the payload is cloned.\n\nThis can be used in encapsulating paths where we only need to modify the\nheader.  As it is, this can be used in PPPOE and bridging.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9355ec23397af32799038d0e8edbfa5b6f425c27",
      "tree": "256b00fa1af6628896c0a1a18866384497e9c5bd",
      "parents": [
        "db7bf6d97c6956b7eb0f22131cb5c37bd41f33c0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 16 16:20:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 16 16:20:21 2007 -0700"
      },
      "message": "[PPP] pppoe: Fill in header directly in __pppoe_xmit\n\nThis patch removes the hdr variable (which is copied into the skb)\nand instead sets the header directly in the skb.\n\nIt also uses __skb_push instead of skb_push since we\u0027ve just checked\nusing skb_cow for enough head room.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "db7bf6d97c6956b7eb0f22131cb5c37bd41f33c0",
      "tree": "85aa14dea255e209cd2f85180b47f4f092ec6921",
      "parents": [
        "31bac44468257986484703cc09da8a9dcae88a36"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 16 16:19:50 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 16 16:19:50 2007 -0700"
      },
      "message": "[PPP] pppoe: Fix data clobbering in __pppoe_xmit and return value\n\nThe function __pppoe_xmit modifies the skb data and therefore it needs\nto copy and skb data if it\u0027s cloned.\n\nIn fact, it currently allocates a new skb so that it can return 0 in\ncase of error without freeing the original skb.  This is totally wrong\nbecause returning zero is meant to indicate congestion whereupon pppoe\nis supposed to wake up the upper layer once the congestion subsides.\n\nThis makes sense for ppp_async and ppp_sync but is out-of-place for\npppoe.  This patch makes it always return 1 and free the skb.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31bac44468257986484703cc09da8a9dcae88a36",
      "tree": "7782fb9da4c2d4266c6e8ae13cbb9bd50491cd49",
      "parents": [
        "559cf710b07c5e2cfa3fb8d8f4a1320fd84c53f9"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sun Sep 16 16:19:20 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 16 16:19:20 2007 -0700"
      },
      "message": "[PPP] pppoe: Fix skb_unshare_check call position\n\nThe skb_unshare_check call needs to be made before pskb_may_pull,\nnot after.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f1543f8b8316f49b318ac6cd8c78a7fd18509311",
      "tree": "50506ab3d7057e9de2e65bf726ad48043cfbfc45",
      "parents": [
        "48b8d78315bf2aef4b6b4fb41c2c94e0b6600234"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@florz.de",
        "time": "Tue Jul 31 13:47:57 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jul 31 13:47:57 2007 -0700"
      },
      "message": "[PPPOE]: Improve hashing function in hash_item().\n\nThe new code produces the same results as the old version and is\n~ 3 to 6 times faster for 4-bit hashes on the CPUs I tested.\n\nSigned-off-by: Florian Zumbiehl \u003cflorz@florz.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8aeca8fea5f2de2563e097829d62af30ca2de650",
      "tree": "d7fe27b3cef67e8f44836082ea21c42e88ab5d58",
      "parents": [
        "86c1dcfc96a778433ebc6e9b1d3e80a126cb80f2"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@florz.de",
        "time": "Mon Jul 30 17:49:13 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:23 2007 -0700"
      },
      "message": "[PPPoE]: move lock_sock() in pppoe_sendmsg() to the right location\n\nand the last one for now: Acquire the sock lock in pppoe_sendmsg()\nbefore accessing the sock - and in particular avoid releasing the lock\neven though it hasn\u0027t been acquired.\n\nSigned-off-by: Florian Zumbiehl \u003cflorz@florz.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "86c1dcfc96a778433ebc6e9b1d3e80a126cb80f2",
      "tree": "ad6f69355b76974d2a80ab56313225aa557eb459",
      "parents": [
        "c61a7d10efbd187ab9bb54871238ebd1dfcacd44"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@florz.de",
        "time": "Mon Jul 30 17:48:23 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 31 02:28:22 2007 -0700"
      },
      "message": "[PPPoX/E]: return ENOTTY on unknown ioctl requests\n\nhere another patch for the PPPoX/E code that makes sure that ENOTTY is\nreturned for unknown ioctl requests rather than 0 (and removes another\nunneeded initializer which I didn\u0027t bother creating a separate patch for).\n\nSigned-off-by: Florian Zumbiehl \u003cflorz@florz.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "42dc9cd54b7290f862874a2544e50395e5719985",
      "tree": "f37f4465f6adbdcdc9b961aa867919a3970190ce",
      "parents": [
        "202a03acf9994076055df40ae093a5c5474ad0bd"
      ],
      "author": {
        "name": "Michal Ostrowski",
        "email": "mostrows@earthlink.net",
        "time": "Fri Apr 20 16:59:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:21 2007 -0700"
      },
      "message": "[PPPOE]: Fix device tear-down notification.\n\npppoe_flush_dev() kicks all sockets bound to a device that is going down.\nIn doing so, locks must be taken in the right order consistently (sock lock,\nfollowed by the pppoe_hash_lock).  However, the scan process is based on\nus holding the sock lock.  So, when something is found in the scan we must\nrelease the lock we\u0027re holding and grab the sock lock.\n\nThis patch fixes race conditions between this code and pppoe_release(),\nboth of which perform similar functions but would naturally prefer to grab\nlocks in opposing orders.  Both code paths are now going after these locks\nin a consistent manner.\n\npppoe_hash_lock protects the contents of the \"pppox_sock\" objects that reside\ninside the hash.  Thus, NULL\u0027ing out the pppoe_dev field should be done\nunder the protection of this lock.\n\nSigned-off-by: Michal Ostrowski \u003cmostrows@earthlink.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "74b885cf86def9bc836772e3c1788c00b72a35c9",
      "tree": "2397bcd487363cdda290c71856af59f0e6cf2ffe",
      "parents": [
        "bfafb26e11849fe99e03cc1902a91f7f65354e47"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@florz.de",
        "time": "Fri Apr 20 16:57:27 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:19 2007 -0700"
      },
      "message": "[PPPOE]: race between interface going down and connect()\n\nbelow you find a patch that (hopefully) fixes a race between an interface\ngoing down and a connect() to a peer on that interface. Before,\nconnect() would determine that an interface is up, then the interface\ncould go down and all entries referring to that interface in the\nitem_hash_table would be marked as ZOMBIEs and their references to\nthe device would be freed, and after that, connect() would put a new\nentry into the hash table referring to the device that meanwhile is\ndown already - which also would cause unregister_netdevice() to wait\nuntil the socket has been release()d.\n\nThis patch does not suffice if we are not allowed to accept connect()s\nreferring to a device that we already acked a NETDEV_GOING_DOWN for\n(that is: all references are only guaranteed to be freed after\nNETDEV_DOWN has been acknowledged, not necessarily after the\nNETDEV_GOING_DOWN already). And if we are allowed to, we could avoid\nlooking through the hash table upon NETDEV_GOING_DOWN completely and\nonly do that once we get the NETDEV_DOWN ...\n\nmostrows:\npppoe_flush_dev is called on NETDEV_GOING_DOWN and NETDEV_DOWN to deal with\nthis \"late connect\" issue.  Ideally one would hope to notify users at the\n\"NETDEV_GOING_DOWN\" phase (just to pretend to be nice).  However, it is the\nNETDEV_DOWN scan that takes all the responsibility for ensuring nobody is\nhanging around at that time.\n\nSigned-off-by: Florian Zumbiehl \u003cflorz@florz.de\u003e\nAcked-by: Michal Ostrowski \u003cmostrows@earthlink.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bfafb26e11849fe99e03cc1902a91f7f65354e47",
      "tree": "4ddd6237cebfcfcbe9ec1dc15a375c0a5fe355f7",
      "parents": [
        "0c6fcc8a8cfcc737d05b6be8b2c3e931ef99cfc2"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@florz.de",
        "time": "Fri Apr 20 16:56:31 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:29:18 2007 -0700"
      },
      "message": "[PPPoE]: miscellaneous smaller cleanups\n\nbelow is a patch that just removes dead code/initializers without any\neffect (first access is an assignment) that I stumbled accross while\nreading the source.\n\nSigned-off-by: Florian Zumbiehl \u003cflorz@florz.de\u003e\nAcked-by: Michal Ostrowski \u003cmostrows@earthlink.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d626f62b11e00c16e81e4308ab93d3f13551812a",
      "tree": "fac4af6ced853755e12fc709d55f0c2bec51265d",
      "parents": [
        "2a123b86e2b242a4a6db990d2851d45e192f88e5"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Mar 27 18:55:52 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:28:23 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_copy_from_linear_data{_offset}\n\nTo clearly state the intent of copying from linear sk_buffs, _offset being a\noverly long variant but interesting for the sake of saving some bytes.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\n"
    },
    {
      "commit": "c1d2bbe1cd6c7bbdc6d532cefebb66c7efb789ce",
      "tree": "03a715961ba576a11cbc0e91c5d465e4c4d95d82",
      "parents": [
        "57effc70a5be9f7804e9a99964eb7265367effca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Apr 10 20:45:18 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:46 2007 -0700"
      },
      "message": "[SK_BUFF]: Introduce skb_reset_network_header(skb)\n\nFor the common, open coded \u0027skb-\u003enh.raw \u003d skb-\u003edata\u0027 operation, so that we can\nlater turn skb-\u003enh.raw into a offset, reducing the size of struct sk_buff in\n64bit land while possibly keeping it as a pointer on 32bit.\n\nThis one touches just the most simple case, next will handle the slightly more\n\"complex\" cases.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "797659fb4a4a511649cd71028141c32ad1698a12",
      "tree": "370361e706de99e3c176b343e9f2db5a1a9df2a3",
      "parents": [
        "37e6636669b0b996681586facee8034f7f674f6a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Sat Mar 10 15:56:08 2007 -0300"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Apr 25 22:24:43 2007 -0700"
      },
      "message": "[PPPOE]: Introduce pppoe_hdr()\n\nFor consistency with all the other skb-\u003enh.raw accessors.\n\nAlso do some really obvious simplifications in pppoe_recvmsg, well the\nkfree_skb one is not so obvious, but free() and kfree() have the same behaviour\n(hint :-) ).\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6f30e1867cb73602c6ed7f97e15a48e0a0c96cde",
      "tree": "4715c38e7555c42b92dbb8cf27afcde68a144cb8",
      "parents": [
        "bc5f77434721a84705601e4d448d331c73900759"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@gmx.de",
        "time": "Sun Mar 04 16:03:22 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Mar 05 13:25:28 2007 -0800"
      },
      "message": "[PPPOE]: Use ifindex instead of device pointer in key lookups.\n\nOtherwise we can potentially try to dereference a NULL device\npointer in some cases.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "90719dbeafdb40a15105ff0c899485b43c2a2a55",
      "tree": "d16cf7c3589013b16bfde03d9d64a36a19b97b11",
      "parents": [
        "248f06726e866942b3d8ca8f411f9067713b7ff8"
      ],
      "author": {
        "name": "Florian Zumbiehl",
        "email": "florz@gmx.de",
        "time": "Fri Mar 02 13:16:56 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Fri Mar 02 20:37:35 2007 -0800"
      },
      "message": "[PPPOE]: Key connections properly on local device.\n\nIt is based on the assumption that an interface\u0027s ifindex is basically\nan alias for a local MAC address, so incoming packets now are matched\nto sockets based on remote MAC, session id, and ifindex of the\ninterface the packet came in on/the socket was bound to by connect().\n\nFor relayed packets, the socket that\u0027s used for relaying is selected\nbased on destination MAC, session ID and the interface index of the\ninterface whose name currently matches the name requested by userspace\nas the relaying source interface.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d54b1fdb1d9f82e375a299e22bd366aad52d4c34",
      "tree": "f94768d59702dbbc0beb9a70d9be65dbc5e5108d",
      "parents": [
        "fa027c2a0a0d6d1df6b29ee99048502c93da0dd4"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Feb 12 00:55:34 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:45 2007 -0800"
      },
      "message": "[PATCH] mark struct file_operations const 5\n\nMany struct file_operations in the kernel can be \"const\".  Marking them const\nmoves these to the .rodata section, which avoids false sharing with potential\ndirty data.  In addition it\u0027ll catch accidental writes at compile time to\nthese shared resources.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "58a5a7b9555ea231b557ebef5cabeaf8e951df0b",
      "tree": "9dac36b3483e9667a967f79982c965abd707e03d",
      "parents": [
        "e523a1550e877f8a8ff87a50269b7ee7bfb43464"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Thu Nov 16 14:06:06 2006 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Sat Dec 02 21:23:51 2006 -0800"
      },
      "message": "[NET]: Conditionally use bh_lock_sock_nested in sk_receive_skb\n\nSpotted by Ian McDonald, tentatively fixed by Gerrit Renker:\n\nhttp://www.mail-archive.com/dccp%40vger.kernel.org/msg00599.html\n\nRewritten not to unroll sk_receive_skb, in the common case, i.e. no lock\ndebugging, its optimized away.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\n"
    },
    {
      "commit": "c9aa6895371b2a257401f59d3393c9f7ac5a8698",
      "tree": "1ee6813a6db0e4d1b7f77e8c002e37bc9411a420",
      "parents": [
        "1533d382155ee888d9621391c108ffb7a68bb25d"
      ],
      "author": {
        "name": "Michal Ostrowski",
        "email": "mostrows@earthlink.net",
        "time": "Wed Sep 27 16:11:25 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 28 18:01:44 2006 -0700"
      },
      "message": "[PPPOE]: Advertise PPPoE MTU\n\nPPPoE must advertise the underlying device\u0027s MTU via the ppp channel\ndescriptor structure, as multilink functionality depends on it.\n\nSigned-off-by: Michal Ostrowski \u003cmostrows@earthlink.net\u003e\nAcked-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6aa20a2235535605db6d6d2bd850298b2fe7f31e",
      "tree": "df0b855043407b831d57f2f2c271f8aab48444f4",
      "parents": [
        "7a291083225af6e22ffaa46b3d91cfc1a1ccaab4"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 13:24:59 2006 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Sep 13 13:24:59 2006 -0400"
      },
      "message": "drivers/net: Trim trailing whitespace\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "9bc18091a5e44a368827f539289b99788eb27d4e",
      "tree": "2fa673fc940f0bdcc04f1d4fbb4bd602f24d947e",
      "parents": [
        "6569a351da7e58d6f0fbc92fcf0bef5d4a4bc0a4"
      ],
      "author": {
        "name": "Florin Malita",
        "email": "fmalita@gmail.com",
        "time": "Mon Jun 05 15:34:33 2006 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 05 15:34:33 2006 -0700"
      },
      "message": "[PPPOE]: Missing result check in __pppoe_xmit().\n\nskb_clone() may fail, we should check the result.\n\nCoverity CID: 1215.\n\nSigned-off-by: Florin Malita \u003cfmalita@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cbb042f9e1292434e3cacb90e67d8d381aeac5a9",
      "tree": "cc42f42232e56b68111cfebdc175197d8607bdd7",
      "parents": [
        "ecba320f2e95c9a0c35011d1ecb1db4419980536"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Mar 20 22:43:56 2006 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 20 22:43:56 2006 -0800"
      },
      "message": "[NET]: Replace skb_pull/skb_postpull_rcsum with skb_pull_rcsum\n\nWe\u0027re now starting to have quite a number of places that do skb_pull\nfollowed immediately by an skb_postpull_rcsum.  We can merge these two\noperations into one function with skb_pull_rcsum.  This makes sense\nsince most pull operations on receive skb\u0027s need to update the\nchecksum.\n\nI\u0027ve decided to make this out-of-line since it is fairly big and the\nfast path where hardware checksums are enabled need to call\ncsum_partial anyway.\n\nSince this is a brand new function we get to add an extra check on the\nlen argument.  As it is most callers of skb_pull ignore its return\nvalue which essentially means that there is no check on the len\nargument.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "17ba15fb6264f27374bc87f4c3f8519b80289d85",
      "tree": "3134abef98d88aa029aa7faa72d8a41686644e99",
      "parents": [
        "8639a11e23d9eb0a6ceac2feed27acdfbb158f95"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Dec 27 20:57:40 2005 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:23 2006 -0800"
      },
      "message": "[PPPOX]: Fix assignment into const proto_ops.\n\nAnd actually, with this, the whole pppox layer can basically\nbe removed and subsumed into pppoe.c, no other pppox sub-protocol\nimplementation exists and we\u0027ve had this thing for at least 4\nyears.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "25995ff577675b58dbd848b7758e7bad87411947",
      "tree": "4d47595b01f8645552fa8af7b2be2019f133fefb",
      "parents": [
        "ce1d4d3e88b3a69d23c3feb436a0b36b6ca0642b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@mandriva.com",
        "time": "Tue Dec 27 02:42:22 2005 -0200"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jan 03 13:11:19 2006 -0800"
      },
      "message": "[SOCK]: Introduce sk_receive_skb\n\nIts common enough to to justify that, TCP still can\u0027t use it as it has the\nprequeueing stuff, still to be made generic in the not so distant future :-)\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@mandriva.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "666002218d59db271e5c1ede1d80227170c51987",
      "tree": "1fadcb278c817ce56a653e5c3c58637f5056feec",
      "parents": [
        "ecba97d4aacf4e80c56eb73e39af0369cb8539a4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Wed Sep 28 22:32:57 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Thu Sep 29 08:46:26 2005 -0700"
      },
      "message": "[PATCH] proc_mkdir() should be used to create procfs directories\n\nA bunch of create_proc_dir_entry() calls creating directories had crept\nin since the last sweep; converted to proc_mkdir().\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f2ccd8fa06c8e302116e71df372f5c1f83432e03",
      "tree": "6e933f4bdc8899009edb33642b908779f123fb4a",
      "parents": [
        "b6b99eb5409d75ae35390057cd28f3aedfbd4cf4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Aug 09 19:34:12 2005 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Mon Aug 29 15:32:25 2005 -0700"
      },
      "message": "[NET]: Kill skb-\u003ereal_dev\n\nBonding just wants the device before the skb_bond()\ndecapsulation occurs, so simply pass that original\ndevice into packet_type-\u003efunc() as an argument.\n\nIt remains to be seen whether we can use this same\nexact thing to get rid of skb-\u003einput_dev as well.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
