)]}'
{
  "log": [
    {
      "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": "0ee904c35cc3fdd26a9c76077d9692d458309186",
      "tree": "ce1dee044974b7c6040bbdb794747cd1baa8f6bb",
      "parents": [
        "710b523ac59426e8bfdea3533f42118e46b9cbfb"
      ],
      "author": {
        "name": "Alexander Beregalov",
        "email": "a.beregalov@gmail.com",
        "time": "Sat Apr 11 14:50:23 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 13 15:44:36 2009 -0700"
      },
      "message": "drivers/net: replace BUG() with BUG_ON() if possible\n\nSigned-off-by: Alexander Beregalov \u003ca.beregalov@gmail.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": "cbec6605cf0fd5080f03eb787c95c1ecd660421f",
      "tree": "7e06a8370b12a0edd97f28a73a60d4532cea43d5",
      "parents": [
        "9a3b7a42bb2919a6282a96a5f4abe0f9be36c4b3"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Jan 26 21:10:08 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 26 21:10:08 2009 -0800"
      },
      "message": "pppol2tp: stop using proc internals\n\nPDE_NET usage in driver code is a sign and, indeed, switching\nto seq_open_net/seq_release_net saves code and fixes bogus things, like\nuser triggerabble BUG_ON(!net) after maybe_get_net, and NULLifying -\u003eprivate.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\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": "4e9fb8016a351b5b9da7fea32bcfdbc9d836e421",
      "tree": "d8cce017f0327cef58f9caa9fea92f9ebd6e263f",
      "parents": [
        "a6bcf1c1d38e0672db35e0d9f2504ac04ddf3ed5"
      ],
      "author": {
        "name": "Cyrill Gorcunov",
        "email": "gorcunov@gmail.com",
        "time": "Wed Jan 21 15:55:15 2009 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 21 15:55:15 2009 -0800"
      },
      "message": "net: pppol2tp - introduce net-namespace functionality\n\n- Each tunnel and appropriate lock are inside own namespace now.\n- pppox code allows to create per-namespace sockets for\n  both PX_PROTO_OE and PX_PROTO_OL2TP protocols. Actually since\n  now pppox_create support net-namespaces new PPPo... protocols\n  (if they ever will be) should support net-namespace too otherwise\n  explicit check for \u0026init_net would be needed.\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": "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": "ffcebb163c6ddba11abd2e8aabc7a8a88982e4f4",
      "tree": "b531cdc5afb34dae85d67aef5607d344996e1f44",
      "parents": [
        "09a2c3c0d3d3550675b766aa5edc28ffee79d7ab"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Tue Dec 16 01:23:49 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Dec 16 01:23:49 2008 -0800"
      },
      "message": "l2tp: fix UDP checksum support\n\nThe pppol2tp driver has had broken UDP checksum code for a long\ntime. This patch fixes it. If UDP checksums are enabled in the\ntunnel\u0027s UDP socket, the L2TP driver now properly validates the\nchecksum on receive and fills in the checksum on transmit. If the\nnetwork device has hardware checksum support and is enabled, it is\nused instead of generating/checking the checksum in software.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e6358135147807351db3b7782d3e198a1bba8b62",
      "tree": "264681e0d2477f112736b65edb40fbaeb68dee25",
      "parents": [
        "5f23b734963ec7eaa3ebcd9050da0c9b7d143dd3"
      ],
      "author": {
        "name": "Frédéric Moulins",
        "email": "frederic.moulins@alsatis.com",
        "time": "Fri Nov 28 22:12:02 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 28 22:12:02 2008 -0800"
      },
      "message": "pppol2tp: Add missing sock_put() in pppol2tp_release()\n\npppol2tp_sock_to_session() do sock_hold() if the session to release is\nnot NULL.\n\nSigned-off-by: Frédéric Moulins \u003cfrederic.moulins@alsatis.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43f59c89399fd76883a06c551f24794e98409432",
      "tree": "7ef8ac7047ea5e74c9d522d6438d03fb69a3ba67",
      "parents": [
        "f5fff5dc8a7a3f395b0525c02ba92c95d42b7390"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 21:28:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 21 21:28:51 2008 -0700"
      },
      "message": "net: Remove __skb_insert() calls outside of skbuff internals.\n\nThis minor cleanup simplifies later changes which will convert\nstruct sk_buff and friends over to using struct list_head.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fde9403a982218fa8a437f815e7aa0e583e2d6ed",
      "tree": "524b35ffc32420f4fb8092d079457b02e7f1a3e7",
      "parents": [
        "877acedc0d3ea07f7b36573ed2f1f479c2c1eefd"
      ],
      "author": {
        "name": "Huang Weiyi",
        "email": "weiyi.huang@gmail.com",
        "time": "Mon Aug 11 12:56:44 2008 +0800"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Thu Aug 14 04:26:38 2008 -0400"
      },
      "message": "[netdrvr] remove unnecessary #include\n\nThe drivers below do not use LINUX_VERSION_CODE nor KERNEL_VERSION.\n  drivers/net/acenic.c\n  drivers/net/bnx2x_link.c\n  drivers/net/bnx2x_main.c\n  drivers/net/cpmac.c\n  drivers/net/gianfar_sysfs.c\n  drivers/net/ipg.h\n  drivers/net/ppp_mppe.c\n  drivers/net/pppol2tp.c\n  drivers/net/r6040.c\n  drivers/net/sh_eth.c\n  drivers/net/sky2.c\n  drivers/net/tehuti.h\n  drivers/net/typhoon.c\n\nThis patch removes the said #include \u003clinux/version.h\u003e.\n\nSigned-off-by: Huang Weiyi \u003chwy@cn.fujitsu.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "6b6707a50c7598a83820077393f8823ab791abf8",
      "tree": "5a707de3b34eeaa2bad9b16d5ad006abe4a6d901",
      "parents": [
        "2e761e0532a784816e7e822dbaaece8c5d4be14d"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Tue Jun 10 12:35:00 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 10 12:35:00 2008 -0700"
      },
      "message": "l2tp: Fix potential memory corruption in pppol2tp_recvmsg()\n\nThis patch fixes a potential memory corruption in\npppol2tp_recvmsg(). If skb-\u003elen is bigger than the caller\u0027s buffer\nlength, memcpy_toiovec() will go into unintialized data on the kernel\nheap, interpret it as an iovec and start modifying memory.\n\nThe fix is to change the memcpy_toiovec() call to\nskb_copy_datagram_iovec() so that paged packets (rare for PPPOL2TP)\nare handled properly. Also check that the caller\u0027s buffer is big\nenough for the data and set the MSG_TRUNC flag if it is not so.\n\nReported-by: Ilja \u003cilja@netric.org\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "24b95685ffcdb3dc28f64b9e8af6ea3e8360fbc5",
      "tree": "f647e001d2bd9115a121db792e9dc6d73fd25163",
      "parents": [
        "293ad60401da621b8b329abbe8c388edb25f658a"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Wed Jun 04 15:54:07 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 04 15:54:07 2008 -0700"
      },
      "message": "l2tp: Fix possible oops if transmitting or receiving when tunnel goes down\n\nSome problems have been experienced in the field which cause an oops\nin the pppol2tp driver if L2TP tunnels fail while passing data.\n\nThe pppol2tp driver uses private data that is referenced via the\nsk-\u003esk_user_data of its UDP and PPPoL2TP sockets. This patch makes\nsure that the driver uses sock_hold() when it holds a reference to the\nsk pointer. This affects its sendmsg(), recvmsg(), getname(),\n[gs]etsockopt() and ioctl() handlers.\n\nTested by ISP where problem was seen. System has been up 10 days with\nno oops since running this patch. Without the patch, an oops would\noccur every 1-2 days.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e \nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "199f7d24ae59894243687a234a909f44a8724506",
      "tree": "396efe66b51628fc0077de74b00c66957cd1f58d",
      "parents": [
        "b4496d44c6bd8b2da8d370ef49c4b008ce82370b"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Wed Jun 04 15:07:32 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jun 04 15:07:32 2008 -0700"
      },
      "message": "lt2p: Fix possible WARN_ON from socket code when UDP socket is closed\n\nIf an L2TP daemon closes a tunnel socket while packets are queued in\nthe tunnel\u0027s reorder queue, a kernel warning is logged because the\nsocket is closed while skbs are still referencing it. The fix is to\npurge the queue in the socket\u0027s release handler.\n\nWARNING: at include/net/sock.h:351 udp_lib_unhash+0x41/0x68()\nPid: 12998, comm: openl2tpd Not tainted 2.6.25 #8\n [\u003cc0423c58\u003e] warn_on_slowpath+0x41/0x51\n [\u003cc05d33a7\u003e] udp_lib_unhash+0x41/0x68\n [\u003cc059424d\u003e] sk_common_release+0x23/0x90\n [\u003cc05d16be\u003e] udp_lib_close+0x8/0xa\n [\u003cc05d8684\u003e] inet_release+0x42/0x48\n [\u003cc0592599\u003e] sock_release+0x14/0x60\n [\u003cc059299f\u003e] sock_close+0x29/0x30\n [\u003cc046ef52\u003e] __fput+0xad/0x15b\n [\u003cc046f1d9\u003e] fput+0x17/0x19\n [\u003cc046c8c4\u003e] filp_close+0x50/0x5a\n [\u003cc046da06\u003e] sys_close+0x69/0x9f\n [\u003cc04048ce\u003e] syscall_call+0x7/0xb\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "090c48d3dd5ea90b37350334aaed9a93b0c1e0a1",
      "tree": "b912bf1bd1519bfcccd36e0927a7adf43f34587b",
      "parents": [
        "066b2118976e6e7cc50eed39e2747c75343a23c4"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Mon May 19 14:10:01 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 19 14:10:01 2008 -0700"
      },
      "message": "l2tp: avoid skb truesize bug if headroom is increased\n\nA user reported seeing occasional bugs such as the following when\nusing the L2TP driver.\n\n  SKB BUG: Invalid truesize (272) len\u003d72, sizeof(sk_buff)\u003d208\n\nWhen L2TP adds its header in the transmit path, it might need to\nincrease the headroom of the skb. In some cases, the increased\nheadroom trips a kernel bug when the skb is freed because the skb has\ngrown beyond its truesize value. The fix is to increase the truesize\nby the amount of headroom added, after orphaning the skb.\n\nWhile here, fix a misleading comment.\n\nThanks to Iouri Kharon \u003cbc-info@styx.cabel.net\u003e for the initial\nreport and testing the fix.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5dc474d6b3ba19df7d491d4eabd9fb7a0c1c2423",
      "tree": "0f508a88537c0feb4edb6669bb54d12daa543c1b",
      "parents": [
        "4951704b4e23d71b99ac933d8e6993bc6225ac13"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon May 12 15:43:46 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 12 15:43:46 2008 -0700"
      },
      "message": "pppol2tp: Remove null pointer dereference.\n\nIf session is NULL, it is not possible to access its name field.  So I\nhave split apart the printing of the error message to drop the\nprinting of the name field in this case.\n\nThe macro PRINTK actually only evaluates its arguments starting with\nthe third one if the bitwise conjunction of the first two is non-zero.\nNormally, this conjunction would only be non-zero if debugging mode\nwere turned on, but when session is NULL, the first argument in both\nthe old and new code is -1, and thus the bitwise conjunction is true.\nPerhaps a different strategy is desired, such as using tunnel-\u003edebug,\nwhich session-\u003edebug is initialized to, but tunnel can also be NULL,\nso this does not completely solve the problem.\n\n\nThis problem was found using the following semantic match\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@@\nexpression E, E1;\nidentifier f;\nstatement S1,S2,S3;\n@@\n\n* if (E \u003d\u003d NULL)\n{\n  ... when !\u003d if (E \u003d\u003d NULL) S1 else S2\n      when !\u003d E \u003d E1\n* E-\u003ef\n  ... when any\n  return ...;\n}\nelse S3\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\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": "e653181dd6b3ad38ce14904351b03a5388f4b0f7",
      "tree": "36703dfc6206863464a162f0a4a29a5901314e44",
      "parents": [
        "cf3752e2d203bbbfc88d29e362e6938cef4339b3"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Wed Mar 05 18:40:01 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 18:40:01 2008 -0800"
      },
      "message": "[PPPOL2TP]: Fix SMP issues in skb reorder queue handling\n\nWhen walking a session\u0027s packet reorder queue, use\nskb_queue_walk_safe() since the list could be modified inside the\nloop.\n\nRearrange the unlinking skbs from the reorder queue such that it is\ndone while the queue lock is held in pppol2tp_recv_dequeue() when\nwalking the skb list.\n\nA version of this patch was suggested by Jarek Poplawski.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cf3752e2d203bbbfc88d29e362e6938cef4339b3",
      "tree": "f48f87708423899ca04590e0a004b3c4913443f9",
      "parents": [
        "5a346a10c0b1192e7eae52f0f3a332f1d3f11226"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Wed Mar 05 18:39:08 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 05 18:39:08 2008 -0800"
      },
      "message": "[PPPOL2TP]: Make locking calls softirq-safe\n\nFix locking issues in the pppol2tp driver which can cause a kernel\ncrash on SMP boxes. There were two problems:-\n\n1. The driver was violating read_lock() and write_lock() scheduling\n   rules because it wasn\u0027t using softirq-safe locks in softirq\n   contexts. So we now consistently use the _bh variants of the lock\n   functions.\n\n2. The driver was calling sk_dst_get() in pppol2tp_xmit() which was\n   taking sk_dst_lock in softirq context. We now call __sk_dst_get().\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ec9b6add7d81f902f6094e71f595da4a362f3348",
      "tree": "5636180fcd749cfce604d238357ccc2ff63bb770",
      "parents": [
        "c8fff1cf4e4e5e420c929469a09427aa37342928"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Mar 03 20:49:34 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 03 20:49:34 2008 -0800"
      },
      "message": "[PPPOL2TP]: Add missing sock_put() in pppol2tp_tunnel_closeall()\n\nEvery skb removed from session-\u003ereorder_q needs sock_put().\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8fff1cf4e4e5e420c929469a09427aa37342928",
      "tree": "4697944066307c29bbb03c538a5953ae9a42ccbe",
      "parents": [
        "8e8440f53593b5f9c695f18b493b535873dbb9da"
      ],
      "author": {
        "name": "Jarek Poplawski",
        "email": "jarkao2@gmail.com",
        "time": "Mon Mar 03 20:48:53 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 03 20:48:53 2008 -0800"
      },
      "message": "Subject: [PPPOL2TP] add missing sock_put() in pppol2tp_recv_dequeue()\n\nEvery skb removed from session-\u003ereorder_q needs sock_put().\n\nSigned-off-by: Jarek Poplawski \u003cjarkao2@gmail.com\u003e\nAcked-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0efeaa335ce494680d1884f267eed7642dee3ca8",
      "tree": "fa39e28d361c0859ea5b84e16f0c70805172a28b",
      "parents": [
        "fefa864530766d8da2b8606235387c5173fb2309"
      ],
      "author": {
        "name": "Andrew Morton",
        "email": "akpm@linux-foundation.org",
        "time": "Sat Feb 09 23:17:51 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Feb 09 23:17:51 2008 -0800"
      },
      "message": "pppol2tp: fix printk warnings\n\ndrivers/net/pppol2tp.c: In function `pppol2tp_seq_tunnel_show\u0027:\ndrivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 4)\ndrivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 5)\ndrivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 6)\ndrivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 7)\ndrivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 8)\ndrivers/net/pppol2tp.c:2295: warning: long long unsigned int format, __u64 arg (arg 9)\ndrivers/net/pppol2tp.c: In function `pppol2tp_seq_session_show\u0027:\ndrivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 5)\ndrivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 6)\ndrivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 7)\ndrivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 8)\ndrivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 9)\ndrivers/net/pppol2tp.c:2328: warning: long long unsigned int format, __u64 arg (arg 10)\n\nNot all platforms implement u64 with unsigned long long.  eg: powerpc.\n\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "731a0609df9cef35ae861d31004f50a02ebde6c2",
      "tree": "411fcdb49b7d20ebbbfd3c58b4c76362f51bab03",
      "parents": [
        "9ec138101f8a79007bc571174976a7814ed616f8"
      ],
      "author": {
        "name": "Rami Rosen",
        "email": "ramirose@gmail.com",
        "time": "Tue Feb 05 16:30:50 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 16:30:50 2008 -0800"
      },
      "message": "[PPPOL2TP]: Label unused warning when CONFIG_PROC_FS is not set.\n\nWhen CONFIG_PROC_FS is not set and CONFIG_PPPOL2TP is set,\nwe have the following warning in build:\n  drivers/net/pppol2tp.c: In function \u0027pppol2tp_init\u0027:\n  drivers/net/pppol2tp.c:2472: warning: label\n\u0027out_unregister_pppox_proto\u0027 defined but not used\n\nThis patches fixes this warning by adding appropriate #ifdef.\n\nSigned-off-by: Rami Rosen \u003cramirose@gmail.com\u003e\nAcked-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2450022afa9f140464c934ecb28c45583335672a",
      "tree": "d368f90c14e2fb7b63ce2ece6c03a8679e3ee72c",
      "parents": [
        "60403fdadabdf1bb1a0f0e2a482860be1c45904f"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Nov 19 17:48:28 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 28 15:03:59 2008 -0800"
      },
      "message": "drivers/net: Add missing \"space\"\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n"
    },
    {
      "commit": "91781004b9c029ee55b7aa9ef950a373ba865dc6",
      "tree": "f6dbfc665cdab40b2ce3ad82222115c5509beab5",
      "parents": [
        "6a9fb9479f2672fa392711735de9e642395c9a14"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Mon Nov 05 23:32:37 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Nov 07 04:08:56 2007 -0800"
      },
      "message": "[PPP]: L2TP: Fix oops in transmit and receive paths\n\nChanges made on 18-sep to fix skb handling in the pppol2tp driver\nbroke the transmit and receive paths. Users are only running into this\nnow because distros are now using 2.6.23 and I must have messed up\nwhen I tested the change.\n\nFor receive, we now do our own calculation of how much to pull from\nthe skb (variable length L2TP header) rather than using\nskb_transport_offset(). Also, if the skb isn\u0027t a data packet, it must\nbe passed back to UDP with skb-\u003edata pointing to the UDP header.\n\nFor transmit, make sure skb-\u003esk is set up because ip_queue_xmit()\nneeds it.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.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": "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": "f3d5e3a4155b6f42f6f6f0a2cc95ca0adbabe1af",
      "tree": "82cf55e9144b5aba570c6a8e240fd1daf6c4a88d",
      "parents": [
        "7a70e39b6633ad85936b029463134ee2599600f1"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Sep 19 10:46:28 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 20 12:14:18 2007 -0700"
      },
      "message": "[PPP] L2TP: Fix skb handling in pppol2tp_xmit\n\nThis patch makes pppol2tp_xmit call skb_cow_head so that we don\u0027t modify\ncloned skb data.  It also gets rid of skb2 we only need to preserve the\noriginal skb for congestion notification, which is only applicable for\nppp_async and ppp_sync.\n\nThe other semantic change made here is the removal of socket accounting\nfor data tranmitted out of pppol2tp_xmit.  The original code leaked any\nexisting socket skb accounting.  We could fix this by dropping the\noriginal skb owner.  However, this is undesirable as the packet has not\nphysically left the host yet.\n\nIn fact, all other tunnels in the kernel do not account skb\u0027s passing\nthrough to their own socket.  In partciular, ESP over UDP does not do\nso and it is the closest tunnel type to PPPoL2TP.  So this patch simply\nremoves the socket accounting in pppol2tp_xmit.  The accounting still\napplies to control packets of course.\n\nI\u0027ve also added a reminder that the outgoing checksum here doesn\u0027t work.\nI suppose existing deployments don\u0027t actually enable checksums.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7a70e39b6633ad85936b029463134ee2599600f1",
      "tree": "7304a9000724a93683299ef7c5aa644725a3e0fb",
      "parents": [
        "a14d6abc947a5504e8d0f934da57b5bc4cea59ca"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Sep 18 13:18:42 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 20 12:14:17 2007 -0700"
      },
      "message": "[PPP] L2TP: Fix skb handling in pppol2tp_recv_core\n\nThe function pppol2tp_recv_core doesn\u0027t handle non-linear packets properly.\nIt also fails to check the remote offset field.\n\nThis patch fixes these problems.  It also removes an unnecessary check on\nthe UDP header which has already been performed by the UDP layer.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a14d6abc947a5504e8d0f934da57b5bc4cea59ca",
      "tree": "b84b2f958ce2e64357e3972b1dd6b1b38113ce39",
      "parents": [
        "21d0c83302fb742b7ffb6089d40196166102f5ed"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Sep 18 13:18:17 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Thu Sep 20 12:14:17 2007 -0700"
      },
      "message": "[PPP] L2TP: Disallow non-UDP datagram sockets\n\nWith the addition of UDP-Lite we need to refine the socket check so\nthat only genuine UDP sockets are allowed through.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "af3b162afd9fce69a94d79bd5b1f9c7c302212f4",
      "tree": "a68bb80b4453fb17e2ba8eea5a27e490aa7ae6d6",
      "parents": [
        "6aa8b04975e71fb3d67bec7fbe2995b9bf54a06e"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ftp.linux.org.uk",
        "time": "Thu Jul 26 17:35:09 2007 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Thu Jul 26 11:11:57 2007 -0700"
      },
      "message": "misannotation in pppol2tp\n\nAddress of auto variable is not a userland pointer.  A good thing, too,\nsince if pppol2tp_tunnel_getsockopt() would _really_ get a userland pointer\nas argument, it would be an instant roothole...\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f77ae9390438409b535f3b1854672e54120cd38b",
      "tree": "78abc13739257460d7d6e4ed97c840cf41b53fb7",
      "parents": [
        "7d4372b5ae2f891e8bfa96c98d450255f58b4dc1"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jul 18 02:04:39 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 02:04:39 2007 -0700"
      },
      "message": "[PPPOL2TP]: Reset meta-data in xmit function\n\nReset netfilter data and IP CB, fix dst_entry leak.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7d4372b5ae2f891e8bfa96c98d450255f58b4dc1",
      "tree": "bca14a197cdef0057e4008152649b43a42d0daba",
      "parents": [
        "99acaeb92fc2d52900f00b8e926d9ad81b6e93bb"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Wed Jul 18 02:04:09 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 18 02:04:09 2007 -0700"
      },
      "message": "[PPPOL2TP]: Fix use-after-free\n\nDon\u0027t use skb-\u003elen after passing it to ip_queue_xmit.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38d15b656258b52a659fcf3e181f85b51bd1851f",
      "tree": "4fdd8b20afa4532d1a7ac4dc698c0ccc9361f3a2",
      "parents": [
        "3557baabf28088f49bdf72a048fd33ab62e205b1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Jun 27 15:52:25 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:16:00 2007 -0700"
      },
      "message": "[PPPOL2TP]: Use proper printf format specifier for size_t.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3557baabf28088f49bdf72a048fd33ab62e205b1",
      "tree": "c0e2f8f03b037758a9fd790adf9bfa1580109910",
      "parents": [
        "cf14a4d06742d59ecb2d837a3f53bb24d1ff9acb"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Wed Jun 27 15:49:24 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Tue Jul 10 22:15:59 2007 -0700"
      },
      "message": "[L2TP]: PPP over L2TP driver core\n\nThis driver handles only L2TP data frames; control frames are handled\nby a userspace application. It implements L2TP using the PPPoX socket\nfamily. There is a PPPoX socket for each L2TP session in an L2TP\ntunnel.  PPP data within each session is passed through the kernel\u0027s\nPPP subsystem via this driver. Kernel parameters of each socket can be\nread or modified using ioctl() or [gs]etsockopt() calls.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
