)]}'
{
  "log": [
    {
      "commit": "9da060d0ed571bbff434c4a1ef3e48db99a37ee0",
      "tree": "084194657e0bae0eaec74c0049da97af4352dde0",
      "parents": [
        "e3b59518c10e08eeb06215abf06f50e8f83b51dc",
        "aab2b4bf224ef8358d262f95b568b8ad0cecf0a0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 05 18:42:29 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 05 18:42:29 2013 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull networking fixes from David Miller:\n \"A moderately sized pile of fixes, some specifically for merge window\n  introduced regressions although others are for longer standing items\n  and have been queued up for -stable.\n\n  I\u0027m kind of tired of all the RDS protocol bugs over the years, to be\n  honest, it\u0027s way out of proportion to the number of people who\n  actually use it.\n\n   1) Fix missing range initialization in netfilter IPSET, from Jozsef\n      Kadlecsik.\n\n   2) ieee80211_local-\u003etim_lock needs to use BH disabling, from Johannes\n      Berg.\n\n   3) Fix DMA syncing in SFC driver, from Ben Hutchings.\n\n   4) Fix regression in BOND device MAC address setting, from Jiri\n      Pirko.\n\n   5) Missing usb_free_urb in ISDN Hisax driver, from Marina Makienko.\n\n   6) Fix UDP checksumming in bnx2x driver for 57710 and 57711 chips,\n      fix from Dmitry Kravkov.\n\n   7) Missing cfgspace_lock initialization in BCMA driver.\n\n   8) Validate parameter size for SCTP assoc stats getsockopt(), from\n      Guenter Roeck.\n\n   9) Fix SCTP association hangs, from Lee A Roberts.\n\n  10) Fix jumbo frame handling in r8169, from Francois Romieu.\n\n  11) Fix phy_device memory leak, from Petr Malat.\n\n  12) Omit trailing FCS from frames received in BGMAC driver, from Hauke\n      Mehrtens.\n\n  13) Missing socket refcount release in L2TP, from Guillaume Nault.\n\n  14) sctp_endpoint_init should respect passed in gfp_t, rather than use\n      GFP_KERNEL unconditionally.  From Dan Carpenter.\n\n  15) Add AISX AX88179 USB driver, from Freddy Xin.\n\n  16) Remove MAINTAINERS entries for drivers deleted during the merge\n      window, from Cesar Eduardo Barros.\n\n  17) RDS protocol can try to allocate huge amounts of memory, check\n      that the user\u0027s request length makes sense, from Cong Wang.\n\n  18) SCTP should use the provided KMALLOC_MAX_SIZE instead of it\u0027s own,\n      bogus, definition.  From Cong Wang.\n\n  19) Fix deadlocks in FEC driver by moving TX reclaim into NAPI poll,\n      from Frank Li.  Also, fix a build error introduced in the merge\n      window.\n\n  20) Fix bogus purging of default routes in ipv6, from Lorenzo Colitti.\n\n  21) Don\u0027t double count RTT measurements when we leave the TCP receive\n      fast path, from Neal Cardwell.\"\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (61 commits)\n  tcp: fix double-counted receiver RTT when leaving receiver fast path\n  CAIF: fix sparse warning for caif_usb\n  rds: simplify a warning message\n  net: fec: fix build error in no MXC platform\n  net: ipv6: Don\u0027t purge default router if accept_ra\u003d2\n  net: fec: put tx to napi poll function to fix dead lock\n  sctp: use KMALLOC_MAX_SIZE instead of its own MAX_KMALLOC_SIZE\n  rds: limit the size allocated by rds_message_alloc()\n  MAINTAINERS: remove eexpress\n  MAINTAINERS: remove drivers/net/wan/cycx*\n  MAINTAINERS: remove 3c505\n  caif_dev: fix sparse warnings for caif_flow_cb\n  ax88179_178a: ASIX AX88179_178A USB 3.0/2.0 to gigabit ethernet adapter driver\n  sctp: use the passed in gfp flags instead GFP_KERNEL\n  ipv[4|6]: correct dropwatch false positive in local_deliver_finish\n  l2tp: Restore socket refcount when sendmsg succeeds\n  net/phy: micrel: Disable asymmetric pause for KSZ9021\n  bgmac: omit the fcs\n  phy: Fix phy_device_free memory leak\n  bnx2x: Fix KR2 work-around condition\n  ...\n"
    },
    {
      "commit": "8b82547e33e85fc24d4d172a93c796de1fefa81a",
      "tree": "549b58a0e731a1aa6a028c0200d065c125a1080d",
      "parents": [
        "32fcafbcd1c9f6c7013016a22a5369b4acb93577"
      ],
      "author": {
        "name": "Guillaume Nault",
        "email": "g.nault@alphalink.fr",
        "time": "Fri Mar 01 05:02:02 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Mar 01 14:13:09 2013 -0500"
      },
      "message": "l2tp: Restore socket refcount when sendmsg succeeds\n\nThe sendmsg() syscall handler for PPPoL2TP doesn\u0027t decrease the socket\nreference counter after successful transmissions. Any successful\nsendmsg() call from userspace will then increase the reference counter\nforever, thus preventing the kernel\u0027s session and tunnel data from\nbeing freed later on.\n\nThe problem only happens when writing directly on L2TP sockets.\nPPP sockets attached to L2TP are unaffected as the PPP subsystem\nuses pppol2tp_xmit() which symmetrically increase/decrease reference\ncounters.\n\nThis patch adds the missing call to sock_put() before returning from\npppol2tp_sendmsg().\n\nSigned-off-by: Guillaume Nault \u003cg.nault@alphalink.fr\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b67bfe0d42cac56c512dd5da4b1b347a23f4b70a",
      "tree": "3d465aea12b97683f26ffa38eba8744469de9997",
      "parents": [
        "1e142b29e210b5dfb2deeb6ce2210b60af16d2a6"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "sasha.levin@oracle.com",
        "time": "Wed Feb 27 17:06:00 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Feb 27 19:10:24 2013 -0800"
      },
      "message": "hlist: drop the node parameter from iterators\n\nI\u0027m not sure why, but the hlist for each entry iterators were conceived\n\n        list_for_each_entry(pos, head, member)\n\nThe hlist ones were greedy and wanted an extra parameter:\n\n        hlist_for_each_entry(tpos, pos, head, member)\n\nWhy did they need an extra pos parameter? I\u0027m not quite sure. Not only\nthey don\u0027t really need it, it also prevents the iterator from looking\nexactly like the list iterator, which is unfortunate.\n\nBesides the semantic patch, there was some manual work required:\n\n - Fix up the actual hlist iterators in linux/list.h\n - Fix up the declaration of other iterators based on the hlist ones.\n - A very small amount of places were using the \u0027node\u0027 parameter, this\n was modified to use \u0027obj-\u003emember\u0027 instead.\n - Coccinelle didn\u0027t handle the hlist_for_each_entry_safe iterator\n properly, so those had to be fixed up manually.\n\nThe semantic patch which is mostly the work of Peter Senna Tschudin is here:\n\n@@\niterator name hlist_for_each_entry, hlist_for_each_entry_continue, hlist_for_each_entry_from, hlist_for_each_entry_rcu, hlist_for_each_entry_rcu_bh, hlist_for_each_entry_continue_rcu_bh, for_each_busy_worker, ax25_uid_for_each, ax25_for_each, inet_bind_bucket_for_each, sctp_for_each_hentry, sk_for_each, sk_for_each_rcu, sk_for_each_from, sk_for_each_safe, sk_for_each_bound, hlist_for_each_entry_safe, hlist_for_each_entry_continue_rcu, nr_neigh_for_each, nr_neigh_for_each_safe, nr_node_for_each, nr_node_for_each_safe, for_each_gfn_indirect_valid_sp, for_each_gfn_sp, for_each_host;\n\ntype T;\nexpression a,c,d,e;\nidentifier b;\nstatement S;\n@@\n\n-T b;\n    \u003c+... when !\u003d b\n(\nhlist_for_each_entry(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue(a,\n- b,\nc) S\n|\nhlist_for_each_entry_from(a,\n- b,\nc) S\n|\nhlist_for_each_entry_rcu(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_rcu_bh(a,\n- b,\nc, d) S\n|\nhlist_for_each_entry_continue_rcu_bh(a,\n- b,\nc) S\n|\nfor_each_busy_worker(a, c,\n- b,\nd) S\n|\nax25_uid_for_each(a,\n- b,\nc) S\n|\nax25_for_each(a,\n- b,\nc) S\n|\ninet_bind_bucket_for_each(a,\n- b,\nc) S\n|\nsctp_for_each_hentry(a,\n- b,\nc) S\n|\nsk_for_each(a,\n- b,\nc) S\n|\nsk_for_each_rcu(a,\n- b,\nc) S\n|\nsk_for_each_from\n-(a, b)\n+(a)\nS\n+ sk_for_each_from(a) S\n|\nsk_for_each_safe(a,\n- b,\nc, d) S\n|\nsk_for_each_bound(a,\n- b,\nc) S\n|\nhlist_for_each_entry_safe(a,\n- b,\nc, d, e) S\n|\nhlist_for_each_entry_continue_rcu(a,\n- b,\nc) S\n|\nnr_neigh_for_each(a,\n- b,\nc) S\n|\nnr_neigh_for_each_safe(a,\n- b,\nc, d) S\n|\nnr_node_for_each(a,\n- b,\nc) S\n|\nnr_node_for_each_safe(a,\n- b,\nc, d) S\n|\n- for_each_gfn_sp(a, c, d, b) S\n+ for_each_gfn_sp(a, c, d) S\n|\n- for_each_gfn_indirect_valid_sp(a, c, d, b) S\n+ for_each_gfn_indirect_valid_sp(a, c, d) S\n|\nfor_each_host(a,\n- b,\nc) S\n|\nfor_each_host_safe(a,\n- b,\nc, d) S\n|\nfor_each_mesh_entry(a,\n- b,\nc, d) S\n)\n    ...+\u003e\n\n[akpm@linux-foundation.org: drop bogus change from net/ipv4/raw.c]\n[akpm@linux-foundation.org: drop bogus hunk from net/ipv6/raw.c]\n[akpm@linux-foundation.org: checkpatch fixes]\n[akpm@linux-foundation.org: fix warnings]\n[akpm@linux-foudnation.org: redo intrusive kvm changes]\nTested-by: Peter Senna Tschudin \u003cpeter.senna@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Sasha Levin \u003csasha.levin@oracle.com\u003e\nCc: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nCc: Gleb Natapov \u003cgleb@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "06991c28f37ad68e5c03777f5c3b679b56e3dac1",
      "tree": "4be75788e21c3c644fe6d39abf47693a171cf4f8",
      "parents": [
        "460dc1eecf37263c8e3b17685ef236f0d236facb",
        "74fef7a8fd1d2bd94f925d6638bb4c3049e7c381"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 12:05:51 2013 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 21 12:05:51 2013 -0800"
      },
      "message": "Merge tag \u0027driver-core-3.9-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core\n\nPull driver core patches from Greg Kroah-Hartman:\n \"Here is the big driver core merge for 3.9-rc1\n\n  There are two major series here, both of which touch lots of drivers\n  all over the kernel, and will cause you some merge conflicts:\n\n   - add a new function called devm_ioremap_resource() to properly be\n     able to check return values.\n\n   - remove CONFIG_EXPERIMENTAL\n\n  Other than those patches, there\u0027s not much here, some minor fixes and\n  updates\"\n\nFix up trivial conflicts\n\n* tag \u0027driver-core-3.9-rc1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core: (221 commits)\n  base: memory: fix soft/hard_offline_page permissions\n  drivercore: Fix ordering between deferred_probe and exiting initcalls\n  backlight: fix class_find_device() arguments\n  TTY: mark tty_get_device call with the proper const values\n  driver-core: constify data for class_find_device()\n  firmware: Ignore abort check when no user-helper is used\n  firmware: Reduce ifdef CONFIG_FW_LOADER_USER_HELPER\n  firmware: Make user-mode helper optional\n  firmware: Refactoring for splitting user-mode helper code\n  Driver core: treat unregistered bus_types as having no devices\n  watchdog: Convert to devm_ioremap_resource()\n  thermal: Convert to devm_ioremap_resource()\n  spi: Convert to devm_ioremap_resource()\n  power: Convert to devm_ioremap_resource()\n  mtd: Convert to devm_ioremap_resource()\n  mmc: Convert to devm_ioremap_resource()\n  mfd: Convert to devm_ioremap_resource()\n  media: Convert to devm_ioremap_resource()\n  iommu: Convert to devm_ioremap_resource()\n  drm: Convert to devm_ioremap_resource()\n  ...\n"
    },
    {
      "commit": "ece31ffd539e8e2b586b1ca5f50bc4f4591e3893",
      "tree": "05407d915a4c0be78a4aa85f54ae3b148ec91ea3",
      "parents": [
        "b4278c961aca320839964e23cfc7906ff61af0c2"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Feb 18 01:34:56 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 14:53:08 2013 -0500"
      },
      "message": "net: proc: change proc_net_remove to remove_proc_entry\n\nproc_net_remove is only used to remove proc entries\nthat under /proc/net,it\u0027s not a general function for\nremoving proc entries of netns. if we want to remove\nsome proc entries which under /proc/net/stat/, we still\nneed to call remove_proc_entry.\n\nthis patch use remove_proc_entry to replace proc_net_remove.\nwe can remove proc_net_remove after this patch.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4beaa66add8aebf83ab16d2fde4e4de8dac36df",
      "tree": "87e69803c16904077d04c212d7b58acbfa62d143",
      "parents": [
        "510a1e7249298f6bbd049e1ec98041ddf5ef6452"
      ],
      "author": {
        "name": "Gao feng",
        "email": "gaofeng@cn.fujitsu.com",
        "time": "Mon Feb 18 01:34:54 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Feb 18 14:53:08 2013 -0500"
      },
      "message": "net: proc: change proc_net_fops_create to proc_create\n\nRight now, some modules such as bonding use proc_create\nto create proc entries under /proc/net/, and other modules\nsuch as ipv4 use proc_net_fops_create.\n\nIt looks a little chaos.this patch changes all of\nproc_net_fops_create to proc_create. we can remove\nproc_net_fops_create after this patch.\n\nSigned-off-by: Gao feng \u003cgaofeng@cn.fujitsu.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fd5023111cf720db890ef34f305ac5d427e690a0",
      "tree": "4d21e9a02bfbdafe5fc598af0755db791238dbe7",
      "parents": [
        "8b9a4d56866e0dca6ae886ed9bff777e50d0b70c",
        "836dc9e3fbbab0c30aa6e664417225f5c1fb1c39"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 08 18:02:14 2013 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 08 18:02:14 2013 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nSynchronize with \u0027net\u0027 in order to sort out some l2tp, wireless, and\nipv6 GRE fixes that will be built on top of in \u0027net-next\u0027.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "87c084a980325d877dc7e388b8f2f26d5d3b4d01",
      "tree": "badbd875581132a7634c6203fcf68f0785449abe",
      "parents": [
        "586c31f3bf04c290dc0a0de7fc91d20aa9a5ee53"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Feb 07 14:00:34 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Feb 08 01:49:49 2013 -0500"
      },
      "message": "l2tp: dont play with skb-\u003etruesize\n\nAndrew Savchenko reported a DNS failure and we diagnosed that\nsome UDP sockets were unable to send more packets because their\nsk_wmem_alloc was corrupted after a while (tx_queue column in\nfollowing trace)\n\n$ cat /proc/net/udp\n  sl  local_address rem_address   st tx_queue rx_queue tr tm-\u003ewhen retrnsmt   uid  timeout inode ref pointer drops\n...\n  459: 00000000:0270 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 4507 2 ffff88003d612380 0\n  466: 00000000:0277 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 4802 2 ffff88003d613180 0\n  470: 076A070A:007B 00000000:0000 07 FFFF4600:00000000 00:00000000 00000000   123        0 5552 2 ffff880039974380 0\n  470: 010213AC:007B 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 4986 2 ffff88003dbd3180 0\n  470: 010013AC:007B 00000000:0000 07 00000000:00000000 00:00000000 00000000     0        0 4985 2 ffff88003dbd2e00 0\n  470: 00FCA8C0:007B 00000000:0000 07 FFFFFB00:00000000 00:00000000 00000000     0        0 4984 2 ffff88003dbd2a80 0\n...\n\nPlaying with skb-\u003etruesize is tricky, especially when\nskb is attached to a socket, as we can fool memory charging.\n\nJust remove this code, its not worth trying to be ultra\nprecise in xmit path.\n\nReported-by: Andrew Savchenko \u003cbircoph@gmail.com\u003e\nTested-by: Andrew Savchenko \u003cbircoph@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9d6ddb19905223828485d8c40deaec76e4dea3a5",
      "tree": "bc9293105e2410ed78fff72416d4ba36f60a4c79",
      "parents": [
        "167eb17e0b178549f5e19036b16b6d6e35856b67"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 14:36:02 2013 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 14:37:01 2013 -0500"
      },
      "message": "l2tp: Make ipv4 protocol handler namespace aware.\n\nThe infrastructure is already pretty much entirely there\nto allow this conversion.\n\nThe tunnel and session lookups have per-namespace tables,\nand the ipv4 bind lookup includes the namespace in the\nlookup key.\n\nSet netns_ok in l2tp_ip_protocol.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "167eb17e0b178549f5e19036b16b6d6e35856b67",
      "tree": "0f8866d325659e6aef8e10506d4e316335d1e54c",
      "parents": [
        "cbb95e0ca92869cc94a1c5e5ac58395afbbda26e"
      ],
      "author": {
        "name": "Tom Parkin",
        "email": "tparkin@katalix.com",
        "time": "Thu Jan 31 23:43:03 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 14:20:30 2013 -0500"
      },
      "message": "l2tp: create tunnel sockets in the right namespace\n\nWhen creating unmanaged tunnel sockets we should honour the network namespace\npassed to l2tp_tunnel_create.  Furthermore, unmanaged tunnel sockets should\nnot hold a reference to the network namespace lest they accidentally keep\nalive a namespace which should otherwise have been released.\n\nUnmanaged tunnel sockets now drop their namespace reference via sk_change_net,\nand are released in a new pernet exit callback, l2tp_exit_net.\n\nSigned-off-by: Tom Parkin \u003ctparkin@katalix.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "cbb95e0ca92869cc94a1c5e5ac58395afbbda26e",
      "tree": "7e129315b5df29e6bbb9bc590c61f9f5b5e510b8",
      "parents": [
        "b6fdfdfab0c57d4a62359277c09258bc2f5a1550"
      ],
      "author": {
        "name": "Tom Parkin",
        "email": "tparkin@katalix.com",
        "time": "Thu Jan 31 23:43:02 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 14:20:30 2013 -0500"
      },
      "message": "l2tp: prevent tunnel creation on netns mismatch\n\nl2tp_tunnel_create is passed a pointer to the network namespace for the\ntunnel, along with an optional file descriptor for the tunnel which may\nbe passed in from userspace via. netlink.\n\nIn the case where the file descriptor is defined, ensure that the namespace\nassociated with that socket matches the namespace explicitly passed to\nl2tp_tunnel_create.\n\nSigned-off-by: Tom Parkin \u003ctparkin@katalix.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b6fdfdfab0c57d4a62359277c09258bc2f5a1550",
      "tree": "23b8eee8bcf463c23a8068246cad2dc5b18b2617",
      "parents": [
        "f8ccac0e44934ff9414b31cc3167a5c828afec73"
      ],
      "author": {
        "name": "Tom Parkin",
        "email": "tparkin@katalix.com",
        "time": "Thu Jan 31 23:43:01 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 14:20:30 2013 -0500"
      },
      "message": "l2tp: set netnsok flag for netlink messages\n\nThe L2TP netlink code can run in namespaces.  Set the netnsok flag in\ngenl_family to true to reflect that fact.\n\nSigned-off-by: Tom Parkin \u003ctparkin@katalix.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f8ccac0e44934ff9414b31cc3167a5c828afec73",
      "tree": "ec40a75d99912502d4bbb3df76f26d8aea96f236",
      "parents": [
        "188d1f76d0dd3715ceeadfa31376867c3395eb41"
      ],
      "author": {
        "name": "Tom Parkin",
        "email": "tparkin@katalix.com",
        "time": "Thu Jan 31 23:43:00 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Feb 05 14:20:30 2013 -0500"
      },
      "message": "l2tp: put tunnel socket release on a workqueue\n\nTo allow l2tp_tunnel_delete to be called from an atomic context, place the\ntunnel socket release calls on a workqueue for asynchronous execution.\n\nTunnel memory is eventually freed in the tunnel socket destructor.\n\nSigned-off-by: Tom Parkin \u003ctparkin@katalix.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "700163db3de397a7557831e1eb9b8ce60e55590a",
      "tree": "6de02acfc70fd2cb31af1fe4ce5ac1a96f076923",
      "parents": [
        "8e72d37eb304d9ec5dfb51bc2d83e900b79ee764"
      ],
      "author": {
        "name": "Tom Parkin",
        "email": "tparkin@katalix.com",
        "time": "Thu Jan 31 01:02:26 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 13:53:09 2013 -0500"
      },
      "message": "l2tp: correctly handle ancillary data in the ip6 recv path\n\nl2tp_ip6 is incorrectly using the IPv4-specific ip_cmsg_recv to handle\nancillary data.  This means that socket options such as IPV6_RECVPKTINFO are\nnot honoured in userspace.\n\nConvert l2tp_ip6 to use the IPv6-specific handler.\n\nRef: net/ipv6/udp.c\n\nSigned-off-by: Tom Parkin \u003ctparkin@katalix.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: Chris Elston \u003ccelston@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "73df66f8b1926c59cbc83000af6bf37ecc5509dd",
      "tree": "ba01e728c33c6fbaaff8c1c10770c10823739bc6",
      "parents": [
        "3d6d7ab5881b1d4431529410b949ba2e946f3b0f"
      ],
      "author": {
        "name": "Tom Parkin",
        "email": "tparkin@katalix.com",
        "time": "Thu Jan 31 01:02:24 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 31 13:53:08 2013 -0500"
      },
      "message": "ipv6: rename datagram_send_ctl and datagram_recv_ctl\n\nThe datagram_*_ctl functions in net/ipv6/datagram.c are IPv6-specific.  Since\ndatagram_send_ctl is publicly exported it should be appropriately named to\nreflect the fact that it\u0027s for IPv6 only.\n\nSigned-off-by: Tom Parkin \u003ctparkin@katalix.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "80d84ef3ff1ddc7a829c58980a9dd566a8af5203",
      "tree": "115869b9fccce4bb2ecc7dd5a0ec2ba203802929",
      "parents": [
        "fc16e884a2320198b8cb7bc2fdcf6b4485e79709"
      ],
      "author": {
        "name": "Tom Parkin",
        "email": "tparkin@katalix.com",
        "time": "Tue Jan 22 05:13:48 2013 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jan 29 15:43:02 2013 -0500"
      },
      "message": "l2tp: prevent l2tp_tunnel_delete racing with userspace close\n\nIf a tunnel socket is created by userspace, l2tp hooks the socket destructor\nin order to clean up resources if userspace closes the socket or crashes.  It\nalso caches a pointer to the struct sock for use in the data path and in the\nnetlink interface.\n\nWhile it is safe to use the cached sock pointer in the data path, where the\nskb references keep the socket alive, it is not safe to use it elsewhere as\nsuch access introduces a race with userspace closing the socket.  In\nparticular, l2tp_tunnel_delete is prone to oopsing if a multithreaded\nuserspace application closes a socket at the same time as sending a netlink\ndelete command for the tunnel.\n\nThis patch fixes this oops by forcing l2tp_tunnel_delete to explicitly look up\na tunnel socket held by userspace using sockfd_lookup().\n\nSigned-off-by: Tom Parkin \u003ctparkin@katalix.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "41694365e2fbd68dcde3bf4b698e35bd6a932ed6",
      "tree": "bd3a4db861c6f927496d2e5da967abab7bd5743f",
      "parents": [
        "f9ceb16ec458710753697b8bfe7c9288867ab5ff"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Tue Oct 02 11:19:50 2012 -0700"
      },
      "committer": {
        "name": "Kees Cook",
        "email": "keescook@chromium.org",
        "time": "Fri Jan 11 11:40:01 2013 -0800"
      },
      "message": "net/l2tp: remove depends on CONFIG_EXPERIMENTAL\n\nThe CONFIG_EXPERIMENTAL config item has not carried much meaning for a\nwhile now and is almost always enabled by default. As agreed during the\nLinux kernel summit, remove it from any \"depends on\" lines in Kconfigs.\n\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nSigned-off-by: Kees Cook \u003ckeescook@chromium.org\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d4185bbf62a5d8d777ee445db1581beb17882a07",
      "tree": "024b0badbd7c970b1983be6d8c345cc4a290cb31",
      "parents": [
        "c075b13098b399dc565b4d53f42047a8d40ed3ba",
        "a375413311b39005ef281bfd71ae8f4e3df22e97"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 18:32:51 2012 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 10 18:32:51 2012 -0500"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c\n\nMinor conflict between the BCM_CNIC define removal in net-next\nand a bug fix added to net.  Based upon a conflict resolution\npatch posted by Stephen Rothwell.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "789336360e0a2aeb9750c16ab704a02cbe035e9e",
      "tree": "1568251a167183170cc25dd6aa5f1512f4e3d611",
      "parents": [
        "e3c98512780ae2cfb90be2152ab35294439bb7bb"
      ],
      "author": {
        "name": "Tom Parkin",
        "email": "tparkin@katalix.com",
        "time": "Mon Oct 29 23:41:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Nov 02 21:56:35 2012 -0400"
      },
      "message": "l2tp: fix oops in l2tp_eth_create() error path\n\nWhen creating an L2TPv3 Ethernet session, if register_netdev() should fail for\nany reason (for example, automatic naming for \"l2tpeth%d\" interfaces hits the\n32k-interface limit), the netdev is freed in the error path.  However, the\nl2tp_eth_sess structure\u0027s dev pointer is left uncleared, and this results in\nl2tp_eth_delete() then attempting to unregister the same netdev later in the\nsession teardown.  This results in an oops.\n\nTo avoid this, clear the session dev pointer in the error path.\n\nSigned-off-by: Tom Parkin \u003ctparkin@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e269ed26d4c9e6da1614709c1bf4c50ff8c8c5b3",
      "tree": "9449f4e9971758d9b787b88bfbffbd8f24ff218f",
      "parents": [
        "0f15b1511ad2e82a6b422d275c369e92242854e6"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Thu Oct 25 05:22:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Oct 26 03:46:41 2012 -0400"
      },
      "message": "l2tp: session is an array not a pointer\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6a06e5e1bb217be077e1f8ee2745b4c5b1aa02db",
      "tree": "8faea23112a11f52524eb413f71b7b02712d8b53",
      "parents": [
        "d9f72f359e00a45a6cd7cc2d5121b04b9dc927e1",
        "6672d90fe779dc0dfffe027c3ede12609df091c2"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 28 14:40:49 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 28 14:40:49 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/team/team.c\n\tdrivers/net/usb/qmi_wwan.c\n\tnet/batman-adv/bat_iv_ogm.c\n\tnet/ipv4/fib_frontend.c\n\tnet/ipv4/route.c\n\tnet/l2tp/l2tp_netlink.c\n\nThe team, fib_frontend, route, and l2tp_netlink conflicts were simply\noverlapping changes.\n\nqmi_wwan and bat_iv_ogm were of the \"use HEAD\" variety.\n\nWith help from Antonio Quartulli.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "7f8436a1269eaaf2d0b1054a325eddf4e14cb80d",
      "tree": "bc39da0b5949f1eebe0241007db5fd70243490f4",
      "parents": [
        "392b408782324e62709f080a84de2866f7b125d4"
      ],
      "author": {
        "name": "Wei Yongjun",
        "email": "yongjun_wei@trendmicro.com.cn",
        "time": "Mon Sep 24 18:29:01 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 27 13:18:19 2012 -0400"
      },
      "message": "l2tp: fix return value check\n\nIn case of error, the function genlmsg_put() returns NULL pointer\nnot ERR_PTR(). The IS_ERR() test in the return value check should\nbe replaced with NULL test.\n\ndpatch engine is used to auto generate this patch.\n(https://github.com/weiyj/dpatch)\n\nSigned-off-by: Wei Yongjun \u003cyongjun_wei@trendmicro.com.cn\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fc18162520b642a46ea556300bfdee80810fc538",
      "tree": "f65643f0f07654f23fb9b4ad480bade46763da79",
      "parents": [
        "b216a4d86fb599fa2808ea7456e15ca9b47bc756"
      ],
      "author": {
        "name": "Amerigo Wang",
        "email": "amwang@redhat.com",
        "time": "Thu Sep 20 20:36:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 21 12:06:46 2012 -0400"
      },
      "message": "l2tp: fix compile error when CONFIG_IPV6\u003dm and CONFIG_L2TP\u003dy\n\nWhen CONFIG_IPV6\u003dm and CONFIG_L2TP\u003dy, I got the following compile error:\n\n  LD      init/built-in.o\nnet/built-in.o: In function `l2tp_xmit_core\u0027:\nl2tp_core.c:(.text+0x147781): undefined reference to `inet6_csk_xmit\u0027\nnet/built-in.o: In function `l2tp_tunnel_create\u0027:\n(.text+0x149067): undefined reference to `udpv6_encap_enable\u0027\nnet/built-in.o: In function `l2tp_ip6_recvmsg\u0027:\nl2tp_ip6.c:(.text+0x14e991): undefined reference to `ipv6_recv_error\u0027\nnet/built-in.o: In function `l2tp_ip6_sendmsg\u0027:\nl2tp_ip6.c:(.text+0x14ec64): undefined reference to `fl6_sock_lookup\u0027\nl2tp_ip6.c:(.text+0x14ed6b): undefined reference to `datagram_send_ctl\u0027\nl2tp_ip6.c:(.text+0x14eda0): undefined reference to `fl6_sock_lookup\u0027\nl2tp_ip6.c:(.text+0x14ede5): undefined reference to `fl6_merge_options\u0027\nl2tp_ip6.c:(.text+0x14edf4): undefined reference to `ipv6_fixup_options\u0027\nl2tp_ip6.c:(.text+0x14ee5d): undefined reference to `fl6_update_dst\u0027\nl2tp_ip6.c:(.text+0x14eea3): undefined reference to `ip6_dst_lookup_flow\u0027\nl2tp_ip6.c:(.text+0x14eee7): undefined reference to `ip6_dst_hoplimit\u0027\nl2tp_ip6.c:(.text+0x14ef8b): undefined reference to `ip6_append_data\u0027\nl2tp_ip6.c:(.text+0x14ef9d): undefined reference to `ip6_flush_pending_frames\u0027\nl2tp_ip6.c:(.text+0x14efe2): undefined reference to `ip6_push_pending_frames\u0027\nnet/built-in.o: In function `l2tp_ip6_destroy_sock\u0027:\nl2tp_ip6.c:(.text+0x14f090): undefined reference to `ip6_flush_pending_frames\u0027\nl2tp_ip6.c:(.text+0x14f0a0): undefined reference to `inet6_destroy_sock\u0027\nnet/built-in.o: In function `l2tp_ip6_connect\u0027:\nl2tp_ip6.c:(.text+0x14f14d): undefined reference to `ip6_datagram_connect\u0027\nnet/built-in.o: In function `l2tp_ip6_bind\u0027:\nl2tp_ip6.c:(.text+0x14f4fe): undefined reference to `ipv6_chk_addr\u0027\nnet/built-in.o: In function `l2tp_ip6_init\u0027:\nl2tp_ip6.c:(.init.text+0x73fa): undefined reference to `inet6_add_protocol\u0027\nl2tp_ip6.c:(.init.text+0x740c): undefined reference to `inet6_register_protosw\u0027\nnet/built-in.o: In function `l2tp_ip6_exit\u0027:\nl2tp_ip6.c:(.exit.text+0x1954): undefined reference to `inet6_unregister_protosw\u0027\nl2tp_ip6.c:(.exit.text+0x1965): undefined reference to `inet6_del_protocol\u0027\nnet/built-in.o:(.rodata+0xf2d0): undefined reference to `inet6_release\u0027\nnet/built-in.o:(.rodata+0xf2d8): undefined reference to `inet6_bind\u0027\nnet/built-in.o:(.rodata+0xf308): undefined reference to `inet6_ioctl\u0027\nnet/built-in.o:(.data+0x1af40): undefined reference to `ipv6_setsockopt\u0027\nnet/built-in.o:(.data+0x1af48): undefined reference to `ipv6_getsockopt\u0027\nnet/built-in.o:(.data+0x1af50): undefined reference to `compat_ipv6_setsockopt\u0027\nnet/built-in.o:(.data+0x1af58): undefined reference to `compat_ipv6_getsockopt\u0027\nmake: *** [vmlinux] Error 1\n\nThis is due to l2tp uses symbols from IPV6, so when IPV6\nis a module, l2tp is not allowed to be builtin.\n\nCc: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Cong Wang \u003camwang@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b48b63a1f6e26b0dec2c9f1690396ed4bcb66903",
      "tree": "8d9ad227c3a7d35cd78d40ecaf9bf59375dbd21a",
      "parents": [
        "7f2e6a5d8608d0353b017a0fe15502307593734e",
        "3f0c3c8fe30c725c1264fb6db8cc4b69db3a658a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 15 11:43:53 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Sep 15 11:43:53 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tnet/netfilter/nfnetlink_log.c\n\tnet/netfilter/xt_LOG.c\n\nRather easy conflict resolution, the \u0027net\u0027 tree had bug fixes to make\nsure we checked if a socket is a time-wait one or not and elide the\nlogging code if so.\n\nWhereas on the \u0027net-next\u0027 side we are calculating the UID and GID from\nthe creds using different interfaces due to the user namespace changes\nfrom Eric Biederman.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "15e473046cb6e5d18a4d0057e61d76315230382b",
      "tree": "893d2df5d46a6ce156933ac57a1398f0ad22b889",
      "parents": [
        "9f00d9776bc5beb92e8bfc884a7e96ddc5589e2e"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Sep 07 20:12:54 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Sep 10 15:30:41 2012 -0400"
      },
      "message": "netlink: Rename pid to portid to avoid confusion\n\nIt is a frequent mistake to confuse the netlink port identifier with a\nprocess identifier.  Try to reduce this confusion by renaming fields\nthat hold port identifiers portid instead of pid.\n\nI have carefully avoided changing the structures exported to\nuserspace to avoid changing the userspace API.\n\nI have successfully built an allyesconfig kernel with this change.\n\nSigned-off-by: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nAcked-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "23d3b8bfb8eb20e7d96afa09991e6a5ed1c83164",
      "tree": "6b5b42f6c925e77a4fa0bd8dbd29683a23edc3e9",
      "parents": [
        "7933aa5c75b880aad6fc26f2df1e3ee6c14f166d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Wed Sep 05 01:02:56 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 05 17:49:27 2012 -0400"
      },
      "message": "net: qdisc busylock needs lockdep annotations\n\nIt seems we need to provide ability for stacked devices\nto use specific lock_class_key for sch-\u003ebusylock\n\nWe could instead default l2tpeth tx_queue_len to 0 (no qdisc), but\na user might use a qdisc anyway.\n\n(So same fixes are probably needed on non LLTX stacked drivers)\n\nNoticed while stressing L2TPV3 setup :\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n [ INFO: possible circular locking dependency detected ]\n 3.6.0-rc3+ #788 Not tainted\n -------------------------------------------------------\n netperf/4660 is trying to acquire lock:\n  (l2tpsock){+.-...}, at: [\u003cffffffffa0208db2\u003e] l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n\n but task is already holding lock:\n  (\u0026(\u0026sch-\u003ebusylock)-\u003erlock){+.-...}, at: [\u003cffffffff81596595\u003e] dev_queue_xmit+0xd75/0xe00\n\n which lock already depends on the new lock.\n\n the existing dependency chain (in reverse order) is:\n\n -\u003e #1 (\u0026(\u0026sch-\u003ebusylock)-\u003erlock){+.-...}:\n        [\u003cffffffff810a5df0\u003e] lock_acquire+0x90/0x200\n        [\u003cffffffff817499fc\u003e] _raw_spin_lock_irqsave+0x4c/0x60\n        [\u003cffffffff81074872\u003e] __wake_up+0x32/0x70\n        [\u003cffffffff8136d39e\u003e] tty_wakeup+0x3e/0x80\n        [\u003cffffffff81378fb3\u003e] pty_write+0x73/0x80\n        [\u003cffffffff8136cb4c\u003e] tty_put_char+0x3c/0x40\n        [\u003cffffffff813722b2\u003e] process_echoes+0x142/0x330\n        [\u003cffffffff813742ab\u003e] n_tty_receive_buf+0x8fb/0x1230\n        [\u003cffffffff813777b2\u003e] flush_to_ldisc+0x142/0x1c0\n        [\u003cffffffff81062818\u003e] process_one_work+0x198/0x760\n        [\u003cffffffff81063236\u003e] worker_thread+0x186/0x4b0\n        [\u003cffffffff810694d3\u003e] kthread+0x93/0xa0\n        [\u003cffffffff81753e24\u003e] kernel_thread_helper+0x4/0x10\n\n -\u003e #0 (l2tpsock){+.-...}:\n        [\u003cffffffff810a5288\u003e] __lock_acquire+0x1628/0x1b10\n        [\u003cffffffff810a5df0\u003e] lock_acquire+0x90/0x200\n        [\u003cffffffff817498c1\u003e] _raw_spin_lock+0x41/0x50\n        [\u003cffffffffa0208db2\u003e] l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n        [\u003cffffffffa021a802\u003e] l2tp_eth_dev_xmit+0x32/0x60 [l2tp_eth]\n        [\u003cffffffff815952b2\u003e] dev_hard_start_xmit+0x502/0xa70\n        [\u003cffffffff815b63ce\u003e] sch_direct_xmit+0xfe/0x290\n        [\u003cffffffff81595a05\u003e] dev_queue_xmit+0x1e5/0xe00\n        [\u003cffffffff815d9d60\u003e] ip_finish_output+0x3d0/0x890\n        [\u003cffffffff815db019\u003e] ip_output+0x59/0xf0\n        [\u003cffffffff815da36d\u003e] ip_local_out+0x2d/0xa0\n        [\u003cffffffff815da5a3\u003e] ip_queue_xmit+0x1c3/0x680\n        [\u003cffffffff815f4192\u003e] tcp_transmit_skb+0x402/0xa60\n        [\u003cffffffff815f4a94\u003e] tcp_write_xmit+0x1f4/0xa30\n        [\u003cffffffff815f5300\u003e] tcp_push_one+0x30/0x40\n        [\u003cffffffff815e6672\u003e] tcp_sendmsg+0xe82/0x1040\n        [\u003cffffffff81614495\u003e] inet_sendmsg+0x125/0x230\n        [\u003cffffffff81576cdc\u003e] sock_sendmsg+0xdc/0xf0\n        [\u003cffffffff81579ece\u003e] sys_sendto+0xfe/0x130\n        [\u003cffffffff81752c92\u003e] system_call_fastpath+0x16/0x1b\n  Possible unsafe locking scenario:\n\n        CPU0                    CPU1\n        ----                    ----\n   lock(\u0026(\u0026sch-\u003ebusylock)-\u003erlock);\n                                lock(l2tpsock);\n                                lock(\u0026(\u0026sch-\u003ebusylock)-\u003erlock);\n   lock(l2tpsock);\n\n  *** DEADLOCK ***\n\n 5 locks held by netperf/4660:\n  #0:  (sk_lock-AF_INET){+.+.+.}, at: [\u003cffffffff815e581c\u003e] tcp_sendmsg+0x2c/0x1040\n  #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff815da3e0\u003e] ip_queue_xmit+0x0/0x680\n  #2:  (rcu_read_lock_bh){.+....}, at: [\u003cffffffff815d9ac5\u003e] ip_finish_output+0x135/0x890\n  #3:  (rcu_read_lock_bh){.+....}, at: [\u003cffffffff81595820\u003e] dev_queue_xmit+0x0/0xe00\n  #4:  (\u0026(\u0026sch-\u003ebusylock)-\u003erlock){+.-...}, at: [\u003cffffffff81596595\u003e] dev_queue_xmit+0xd75/0xe00\n\n stack backtrace:\n Pid: 4660, comm: netperf Not tainted 3.6.0-rc3+ #788\n Call Trace:\n  [\u003cffffffff8173dbf8\u003e] print_circular_bug+0x1fb/0x20c\n  [\u003cffffffff810a5288\u003e] __lock_acquire+0x1628/0x1b10\n  [\u003cffffffff810a334b\u003e] ? check_usage+0x9b/0x4d0\n  [\u003cffffffff810a3f44\u003e] ? __lock_acquire+0x2e4/0x1b10\n  [\u003cffffffff810a5df0\u003e] lock_acquire+0x90/0x200\n  [\u003cffffffffa0208db2\u003e] ? l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n  [\u003cffffffff817498c1\u003e] _raw_spin_lock+0x41/0x50\n  [\u003cffffffffa0208db2\u003e] ? l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n  [\u003cffffffffa0208db2\u003e] l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n  [\u003cffffffffa021a802\u003e] l2tp_eth_dev_xmit+0x32/0x60 [l2tp_eth]\n  [\u003cffffffff815952b2\u003e] dev_hard_start_xmit+0x502/0xa70\n  [\u003cffffffff81594e0e\u003e] ? dev_hard_start_xmit+0x5e/0xa70\n  [\u003cffffffff81595961\u003e] ? dev_queue_xmit+0x141/0xe00\n  [\u003cffffffff815b63ce\u003e] sch_direct_xmit+0xfe/0x290\n  [\u003cffffffff81595a05\u003e] dev_queue_xmit+0x1e5/0xe00\n  [\u003cffffffff81595820\u003e] ? dev_hard_start_xmit+0xa70/0xa70\n  [\u003cffffffff815d9d60\u003e] ip_finish_output+0x3d0/0x890\n  [\u003cffffffff815d9ac5\u003e] ? ip_finish_output+0x135/0x890\n  [\u003cffffffff815db019\u003e] ip_output+0x59/0xf0\n  [\u003cffffffff815da36d\u003e] ip_local_out+0x2d/0xa0\n  [\u003cffffffff815da5a3\u003e] ip_queue_xmit+0x1c3/0x680\n  [\u003cffffffff815da3e0\u003e] ? ip_local_out+0xa0/0xa0\n  [\u003cffffffff815f4192\u003e] tcp_transmit_skb+0x402/0xa60\n  [\u003cffffffff815fa25e\u003e] ? tcp_md5_do_lookup+0x18e/0x1a0\n  [\u003cffffffff815f4a94\u003e] tcp_write_xmit+0x1f4/0xa30\n  [\u003cffffffff815f5300\u003e] tcp_push_one+0x30/0x40\n  [\u003cffffffff815e6672\u003e] tcp_sendmsg+0xe82/0x1040\n  [\u003cffffffff81614495\u003e] inet_sendmsg+0x125/0x230\n  [\u003cffffffff81614370\u003e] ? inet_create+0x6b0/0x6b0\n  [\u003cffffffff8157e6e2\u003e] ? sock_update_classid+0xc2/0x3b0\n  [\u003cffffffff8157e750\u003e] ? sock_update_classid+0x130/0x3b0\n  [\u003cffffffff81576cdc\u003e] sock_sendmsg+0xdc/0xf0\n  [\u003cffffffff81162579\u003e] ? fget_light+0x3f9/0x4f0\n  [\u003cffffffff81579ece\u003e] sys_sendto+0xfe/0x130\n  [\u003cffffffff810a69ad\u003e] ? trace_hardirqs_on+0xd/0x10\n  [\u003cffffffff8174a0b0\u003e] ? _raw_spin_unlock_irq+0x30/0x50\n  [\u003cffffffff810757e3\u003e] ? finish_task_switch+0x83/0xf0\n  [\u003cffffffff810757a6\u003e] ? finish_task_switch+0x46/0xf0\n  [\u003cffffffff81752cb7\u003e] ? sysret_check+0x1b/0x56\n  [\u003cffffffff81752c92\u003e] system_call_fastpath+0x16/0x1b\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c0cc88a7627c333de50b07b7c60b1d49d9d2e6cc",
      "tree": "3e9507ca5974e607dc2b48ccadc9f119bd9d0800",
      "parents": [
        "9d148e39d1a031f0aced8467de2a81fcf576ba50"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Sep 04 15:54:55 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 04 15:54:55 2012 -0400"
      },
      "message": "l2tp: fix a typo in l2tp_eth_dev_recv()\n\nWhile investigating l2tp bug, I hit a bug in eth_type_trans(),\nbecause not enough bytes were pulled in skb head.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "37159ef2c1ae1e696b24b260b241209a19f92c60",
      "tree": "13d683531eb80e2bddf9aa0365c65e4affd7711e",
      "parents": [
        "6cf5c951175abcec4da470c50565cc0afe6cd11d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Tue Sep 04 07:18:57 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 04 14:07:50 2012 -0400"
      },
      "message": "l2tp: fix a lockdep splat\n\nFixes following lockdep splat :\n\n[ 1614.734896] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 1614.734898] [ INFO: possible recursive locking detected ]\n[ 1614.734901] 3.6.0-rc3+ #782 Not tainted\n[ 1614.734903] ---------------------------------------------\n[ 1614.734905] swapper/11/0 is trying to acquire lock:\n[ 1614.734907]  (slock-AF_INET){+.-...}, at: [\u003cffffffffa0209d72\u003e] l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n[ 1614.734920]\n[ 1614.734920] but task is already holding lock:\n[ 1614.734922]  (slock-AF_INET){+.-...}, at: [\u003cffffffff815fce23\u003e] tcp_v4_err+0x163/0x6b0\n[ 1614.734932]\n[ 1614.734932] other info that might help us debug this:\n[ 1614.734935]  Possible unsafe locking scenario:\n[ 1614.734935]\n[ 1614.734937]        CPU0\n[ 1614.734938]        ----\n[ 1614.734940]   lock(slock-AF_INET);\n[ 1614.734943]   lock(slock-AF_INET);\n[ 1614.734946]\n[ 1614.734946]  *** DEADLOCK ***\n[ 1614.734946]\n[ 1614.734949]  May be due to missing lock nesting notation\n[ 1614.734949]\n[ 1614.734952] 7 locks held by swapper/11/0:\n[ 1614.734954]  #0:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff81592801\u003e] __netif_receive_skb+0x251/0xd00\n[ 1614.734964]  #1:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff815d319c\u003e] ip_local_deliver_finish+0x4c/0x4e0\n[ 1614.734972]  #2:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff8160d116\u003e] icmp_socket_deliver+0x46/0x230\n[ 1614.734982]  #3:  (slock-AF_INET){+.-...}, at: [\u003cffffffff815fce23\u003e] tcp_v4_err+0x163/0x6b0\n[ 1614.734989]  #4:  (rcu_read_lock){.+.+..}, at: [\u003cffffffff815da240\u003e] ip_queue_xmit+0x0/0x680\n[ 1614.734997]  #5:  (rcu_read_lock_bh){.+....}, at: [\u003cffffffff815d9925\u003e] ip_finish_output+0x135/0x890\n[ 1614.735004]  #6:  (rcu_read_lock_bh){.+....}, at: [\u003cffffffff81595680\u003e] dev_queue_xmit+0x0/0xe00\n[ 1614.735012]\n[ 1614.735012] stack backtrace:\n[ 1614.735016] Pid: 0, comm: swapper/11 Not tainted 3.6.0-rc3+ #782\n[ 1614.735018] Call Trace:\n[ 1614.735020]  \u003cIRQ\u003e  [\u003cffffffff810a50ac\u003e] __lock_acquire+0x144c/0x1b10\n[ 1614.735033]  [\u003cffffffff810a334b\u003e] ? check_usage+0x9b/0x4d0\n[ 1614.735037]  [\u003cffffffff810a6762\u003e] ? mark_held_locks+0x82/0x130\n[ 1614.735042]  [\u003cffffffff810a5df0\u003e] lock_acquire+0x90/0x200\n[ 1614.735047]  [\u003cffffffffa0209d72\u003e] ? l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n[ 1614.735051]  [\u003cffffffff810a69ad\u003e] ? trace_hardirqs_on+0xd/0x10\n[ 1614.735060]  [\u003cffffffff81749b31\u003e] _raw_spin_lock+0x41/0x50\n[ 1614.735065]  [\u003cffffffffa0209d72\u003e] ? l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n[ 1614.735069]  [\u003cffffffffa0209d72\u003e] l2tp_xmit_skb+0x172/0xa50 [l2tp_core]\n[ 1614.735075]  [\u003cffffffffa014f7f2\u003e] l2tp_eth_dev_xmit+0x32/0x60 [l2tp_eth]\n[ 1614.735079]  [\u003cffffffff81595112\u003e] dev_hard_start_xmit+0x502/0xa70\n[ 1614.735083]  [\u003cffffffff81594c6e\u003e] ? dev_hard_start_xmit+0x5e/0xa70\n[ 1614.735087]  [\u003cffffffff815957c1\u003e] ? dev_queue_xmit+0x141/0xe00\n[ 1614.735093]  [\u003cffffffff815b622e\u003e] sch_direct_xmit+0xfe/0x290\n[ 1614.735098]  [\u003cffffffff81595865\u003e] dev_queue_xmit+0x1e5/0xe00\n[ 1614.735102]  [\u003cffffffff81595680\u003e] ? dev_hard_start_xmit+0xa70/0xa70\n[ 1614.735106]  [\u003cffffffff815b4daa\u003e] ? eth_header+0x3a/0xf0\n[ 1614.735111]  [\u003cffffffff8161d33e\u003e] ? fib_get_table+0x2e/0x280\n[ 1614.735117]  [\u003cffffffff8160a7e2\u003e] arp_xmit+0x22/0x60\n[ 1614.735121]  [\u003cffffffff8160a863\u003e] arp_send+0x43/0x50\n[ 1614.735125]  [\u003cffffffff8160b82f\u003e] arp_solicit+0x18f/0x450\n[ 1614.735132]  [\u003cffffffff8159d9da\u003e] neigh_probe+0x4a/0x70\n[ 1614.735137]  [\u003cffffffff815a191a\u003e] __neigh_event_send+0xea/0x300\n[ 1614.735141]  [\u003cffffffff815a1c93\u003e] neigh_resolve_output+0x163/0x260\n[ 1614.735146]  [\u003cffffffff815d9cf5\u003e] ip_finish_output+0x505/0x890\n[ 1614.735150]  [\u003cffffffff815d9925\u003e] ? ip_finish_output+0x135/0x890\n[ 1614.735154]  [\u003cffffffff815dae79\u003e] ip_output+0x59/0xf0\n[ 1614.735158]  [\u003cffffffff815da1cd\u003e] ip_local_out+0x2d/0xa0\n[ 1614.735162]  [\u003cffffffff815da403\u003e] ip_queue_xmit+0x1c3/0x680\n[ 1614.735165]  [\u003cffffffff815da240\u003e] ? ip_local_out+0xa0/0xa0\n[ 1614.735172]  [\u003cffffffff815f4402\u003e] tcp_transmit_skb+0x402/0xa60\n[ 1614.735177]  [\u003cffffffff815f5a11\u003e] tcp_retransmit_skb+0x1a1/0x620\n[ 1614.735181]  [\u003cffffffff815f7e93\u003e] tcp_retransmit_timer+0x393/0x960\n[ 1614.735185]  [\u003cffffffff815fce23\u003e] ? tcp_v4_err+0x163/0x6b0\n[ 1614.735189]  [\u003cffffffff815fd317\u003e] tcp_v4_err+0x657/0x6b0\n[ 1614.735194]  [\u003cffffffff8160d116\u003e] ? icmp_socket_deliver+0x46/0x230\n[ 1614.735199]  [\u003cffffffff8160d19e\u003e] icmp_socket_deliver+0xce/0x230\n[ 1614.735203]  [\u003cffffffff8160d116\u003e] ? icmp_socket_deliver+0x46/0x230\n[ 1614.735208]  [\u003cffffffff8160d464\u003e] icmp_unreach+0xe4/0x2c0\n[ 1614.735213]  [\u003cffffffff8160e520\u003e] icmp_rcv+0x350/0x4a0\n[ 1614.735217]  [\u003cffffffff815d3285\u003e] ip_local_deliver_finish+0x135/0x4e0\n[ 1614.735221]  [\u003cffffffff815d319c\u003e] ? ip_local_deliver_finish+0x4c/0x4e0\n[ 1614.735225]  [\u003cffffffff815d3ffa\u003e] ip_local_deliver+0x4a/0x90\n[ 1614.735229]  [\u003cffffffff815d37b7\u003e] ip_rcv_finish+0x187/0x730\n[ 1614.735233]  [\u003cffffffff815d425d\u003e] ip_rcv+0x21d/0x300\n[ 1614.735237]  [\u003cffffffff81592a1b\u003e] __netif_receive_skb+0x46b/0xd00\n[ 1614.735241]  [\u003cffffffff81592801\u003e] ? __netif_receive_skb+0x251/0xd00\n[ 1614.735245]  [\u003cffffffff81593368\u003e] process_backlog+0xb8/0x180\n[ 1614.735249]  [\u003cffffffff81593cf9\u003e] net_rx_action+0x159/0x330\n[ 1614.735257]  [\u003cffffffff810491f0\u003e] __do_softirq+0xd0/0x3e0\n[ 1614.735264]  [\u003cffffffff8109ed24\u003e] ? tick_program_event+0x24/0x30\n[ 1614.735270]  [\u003cffffffff8175419c\u003e] call_softirq+0x1c/0x30\n[ 1614.735278]  [\u003cffffffff8100425d\u003e] do_softirq+0x8d/0xc0\n[ 1614.735282]  [\u003cffffffff8104983e\u003e] irq_exit+0xae/0xe0\n[ 1614.735287]  [\u003cffffffff8175494e\u003e] smp_apic_timer_interrupt+0x6e/0x99\n[ 1614.735291]  [\u003cffffffff81753a1c\u003e] apic_timer_interrupt+0x6c/0x80\n[ 1614.735293]  \u003cEOI\u003e  [\u003cffffffff810a14ad\u003e] ? trace_hardirqs_off+0xd/0x10\n[ 1614.735306]  [\u003cffffffff81336f85\u003e] ? intel_idle+0xf5/0x150\n[ 1614.735310]  [\u003cffffffff81336f7e\u003e] ? intel_idle+0xee/0x150\n[ 1614.735317]  [\u003cffffffff814e6ea9\u003e] cpuidle_enter+0x19/0x20\n[ 1614.735321]  [\u003cffffffff814e7538\u003e] cpuidle_idle_call+0xa8/0x630\n[ 1614.735327]  [\u003cffffffff8100c1ba\u003e] cpu_idle+0x8a/0xe0\n[ 1614.735333]  [\u003cffffffff8173762e\u003e] start_secondary+0x220/0x222\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "99469c32f79a32d8481f87be0d3c66dad286f4ec",
      "tree": "fe937e501fe88ba696ba21669454367d6c7b9096",
      "parents": [
        "e2c53be223aca36cf93eb6a0f6bafa079e78f52b"
      ],
      "author": {
        "name": "xeb@mail.ru",
        "email": "xeb@mail.ru",
        "time": "Fri Aug 24 01:07:38 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Aug 30 12:31:03 2012 -0400"
      },
      "message": "l2tp: avoid to use synchronize_rcu in tunnel free function\n\nAvoid to use synchronize_rcu in l2tp_tunnel_free because context may be\natomic.\n\nSigned-off-by: Dmitry Kozlov \u003cxeb@mail.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "04d4fbca1017c11381e7d82acea21dd741e748bc",
      "tree": "a12bca825e4a2251c9acec3812a8cbfd067abec1",
      "parents": [
        "792039c73cf176c8e39a6e8beef2c94ff46522ed"
      ],
      "author": {
        "name": "Mathias Krause",
        "email": "minipli@googlemail.com",
        "time": "Wed Aug 15 11:31:52 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Aug 15 21:36:31 2012 -0700"
      },
      "message": "l2tp: fix info leak via getsockname()\n\nThe L2TP code for IPv6 fails to initialize the l2tp_unused member of\nstruct sockaddr_l2tpip6 and that for leaks two bytes kernel stack via\nthe getsockname() syscall. Initialize l2tp_unused with 0 to avoid the\ninfo leak.\n\nSigned-off-by: Mathias Krause \u003cminipli@googlemail.com\u003e\nCc: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b8c8430726e5bd552e01dacc5a44f3f83f7446ca",
      "tree": "e966e64a7bb8a2451048b7e73c0c4aa9a8db40a3",
      "parents": [
        "a777c892cea917b6c67c61f8dff47d8caae7b8a1"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Jun 28 20:15:13 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 29 00:52:32 2012 -0700"
      },
      "message": "net: l2tp_eth: provide tx_dropped counter\n\nChange l2tp_xmit_skb() to return NET_XMIT_DROP in case skb is dropped.\n\nUse kfree_skb() instead dev_kfree_skb() for drop_monitor pleasure.\n\nSupport tx_dropped counter for l2tp_eth\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "58050fce3530939372e6c2f4b4beb76fcb4caa65",
      "tree": "ee2b85eda9973fed36102dad66f583e43a4a6cab",
      "parents": [
        "9f10d3f6f966ef6f6a8d025a4b1d341923d04607"
      ],
      "author": {
        "name": "Thomas Graf",
        "email": "tgraf@suug.ch",
        "time": "Thu Jun 28 03:57:45 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 28 17:56:43 2012 -0700"
      },
      "message": "net: Use NLMSG_DEFAULT_SIZE in combination with nlmsg_new()\n\nUsing NLMSG_GOODSIZE results in multiple pages being used as\nnlmsg_new() will automatically add the size of the netlink\nheader to the payload thus exceeding the page limit.\n\nNLMSG_DEFAULT_SIZE takes this into account.\n\nSigned-off-by: Thomas Graf \u003ctgraf@suug.ch\u003e\nCc: Jiri Pirko \u003cjpirko@redhat.com\u003e\nCc: Dmitry Eremin-Solenikov \u003cdbaryshkov@gmail.com\u003e\nCc: Sergey Lapin \u003cslapin@ossfans.org\u003e\nCc: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nCc: Lauro Ramos Venancio \u003clauro.venancio@openbossa.org\u003e\nCc: Aloisio Almeida Jr \u003caloisio.almeida@openbossa.org\u003e\nCc: Samuel Ortiz \u003csameo@linux.intel.com\u003e\nReviewed-by: Jiri Pirko \u003cjpirko@redhat.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b26d344c6b87058ae3e8f919a18580abfc4204eb",
      "tree": "ff7026df8e8715e3c63d0ff4ff697a9fac6323fb",
      "parents": [
        "82aee5d7c01fd1a398e938e496e6cb8841775f91",
        "76fbc247b9aebc30f6d2c8ec1f69edcb68eaa328"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 28 17:37:00 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 28 17:37:00 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/caif/caif_hsi.c\n\tdrivers/net/usb/qmi_wwan.c\n\nThe qmi_wwan merge was trivial.\n\nThe caif_hsi.c, on the other hand, was not.  It\u0027s a conflict between\n1c385f1fdf6f9c66d982802cd74349c040980b50 (\"caif-hsi: Replace platform\ndevice with ops structure.\") in the net-next tree and commit\n39abbaef19cd0a30be93794aa4773c779c3eb1f3 (\"caif-hsi: Postpone init of\nHIS until open()\") in the net tree.\n\nI did my best with that one and will ask Sjur to check it out.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a2842a1e66329798d66563b52faec1a299ec4f73",
      "tree": "8c9cb11089d4f9d1b75b83e494d15e43caaef99f",
      "parents": [
        "8a8e28b8e2c27362f24cf06513c05d5e3a304e03"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Jun 25 05:35:45 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 26 16:42:33 2012 -0700"
      },
      "message": "net: l2tp_eth: use LLTX to avoid LOCKDEP splats\n\nDenys Fedoryshchenko reported a LOCKDEP issue with l2tp code.\n\n[ 8683.927442] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ 8683.927555] [ INFO: possible circular locking dependency detected ]\n[ 8683.927672] 3.4.1-build-0061 #14 Not tainted\n[ 8683.927782] -------------------------------------------------------\n[ 8683.927895] swapper/0/0 is trying to acquire lock:\n[ 8683.928007]  (slock-AF_INET){+.-...}, at: [\u003ce0fc73ec\u003e]\nl2tp_xmit_skb+0x173/0x47e [l2tp_core]\n[ 8683.928121]\n[ 8683.928121] but task is already holding lock:\n[ 8683.928121]  (_xmit_ETHER#2){+.-...}, at: [\u003cc02f062d\u003e]\nsch_direct_xmit+0x36/0x119\n[ 8683.928121]\n[ 8683.928121] which lock already depends on the new lock.\n[ 8683.928121]\n[ 8683.928121]\n[ 8683.928121] the existing dependency chain (in reverse order) is:\n[ 8683.928121]\n[ 8683.928121] -\u003e #1 (_xmit_ETHER#2){+.-...}:\n[ 8683.928121]        [\u003cc015a561\u003e] lock_acquire+0x71/0x85\n[ 8683.928121]        [\u003cc034da2d\u003e] _raw_spin_lock+0x33/0x40\n[ 8683.928121]        [\u003cc0304e0c\u003e] ip_send_reply+0xf2/0x1ce\n[ 8683.928121]        [\u003cc0317dbc\u003e] tcp_v4_send_reset+0x153/0x16f\n[ 8683.928121]        [\u003cc0317f4a\u003e] tcp_v4_do_rcv+0x172/0x194\n[ 8683.928121]        [\u003cc031929b\u003e] tcp_v4_rcv+0x387/0x5a0\n[ 8683.928121]        [\u003cc03001d0\u003e] ip_local_deliver_finish+0x13a/0x1e9\n[ 8683.928121]        [\u003cc0300645\u003e] NF_HOOK.clone.11+0x46/0x4d\n[ 8683.928121]        [\u003cc030075b\u003e] ip_local_deliver+0x41/0x45\n[ 8683.928121]        [\u003cc03005dd\u003e] ip_rcv_finish+0x31a/0x33c\n[ 8683.928121]        [\u003cc0300645\u003e] NF_HOOK.clone.11+0x46/0x4d\n[ 8683.928121]        [\u003cc0300960\u003e] ip_rcv+0x201/0x23d\n[ 8683.928121]        [\u003cc02de91b\u003e] __netif_receive_skb+0x329/0x378\n[ 8683.928121]        [\u003cc02deae8\u003e] netif_receive_skb+0x4e/0x7d\n[ 8683.928121]        [\u003ce08d5ef3\u003e] rtl8139_poll+0x243/0x33d [8139too]\n[ 8683.928121]        [\u003cc02df103\u003e] net_rx_action+0x90/0x15d\n[ 8683.928121]        [\u003cc012b2b5\u003e] __do_softirq+0x7b/0x118\n[ 8683.928121]\n[ 8683.928121] -\u003e #0 (slock-AF_INET){+.-...}:\n[ 8683.928121]        [\u003cc0159f1b\u003e] __lock_acquire+0x9a3/0xc27\n[ 8683.928121]        [\u003cc015a561\u003e] lock_acquire+0x71/0x85\n[ 8683.928121]        [\u003cc034da2d\u003e] _raw_spin_lock+0x33/0x40\n[ 8683.928121]        [\u003ce0fc73ec\u003e] l2tp_xmit_skb+0x173/0x47e\n[l2tp_core]\n[ 8683.928121]        [\u003ce0fe31fb\u003e] l2tp_eth_dev_xmit+0x1a/0x2f\n[l2tp_eth]\n[ 8683.928121]        [\u003cc02e01e7\u003e] dev_hard_start_xmit+0x333/0x3f2\n[ 8683.928121]        [\u003cc02f064c\u003e] sch_direct_xmit+0x55/0x119\n[ 8683.928121]        [\u003cc02e0528\u003e] dev_queue_xmit+0x282/0x418\n[ 8683.928121]        [\u003cc031f4fb\u003e] NF_HOOK.clone.19+0x45/0x4c\n[ 8683.928121]        [\u003cc031f524\u003e] arp_xmit+0x22/0x24\n[ 8683.928121]        [\u003cc031f567\u003e] arp_send+0x41/0x48\n[ 8683.928121]        [\u003cc031fa7d\u003e] arp_process+0x289/0x491\n[ 8683.928121]        [\u003cc031f4fb\u003e] NF_HOOK.clone.19+0x45/0x4c\n[ 8683.928121]        [\u003cc031f7a0\u003e] arp_rcv+0xb1/0xc3\n[ 8683.928121]        [\u003cc02de91b\u003e] __netif_receive_skb+0x329/0x378\n[ 8683.928121]        [\u003cc02de9d3\u003e] process_backlog+0x69/0x130\n[ 8683.928121]        [\u003cc02df103\u003e] net_rx_action+0x90/0x15d\n[ 8683.928121]        [\u003cc012b2b5\u003e] __do_softirq+0x7b/0x118\n[ 8683.928121]\n[ 8683.928121] other info that might help us debug this:\n[ 8683.928121]\n[ 8683.928121]  Possible unsafe locking scenario:\n[ 8683.928121]\n[ 8683.928121]        CPU0                    CPU1\n[ 8683.928121]        ----                    ----\n[ 8683.928121]   lock(_xmit_ETHER#2);\n[ 8683.928121]                                lock(slock-AF_INET);\n[ 8683.928121]                                lock(_xmit_ETHER#2);\n[ 8683.928121]   lock(slock-AF_INET);\n[ 8683.928121]\n[ 8683.928121]  *** DEADLOCK ***\n[ 8683.928121]\n[ 8683.928121] 3 locks held by swapper/0/0:\n[ 8683.928121]  #0:  (rcu_read_lock){.+.+..}, at: [\u003cc02dbc10\u003e]\nrcu_lock_acquire+0x0/0x30\n[ 8683.928121]  #1:  (rcu_read_lock_bh){.+....}, at: [\u003cc02dbc10\u003e]\nrcu_lock_acquire+0x0/0x30\n[ 8683.928121]  #2:  (_xmit_ETHER#2){+.-...}, at: [\u003cc02f062d\u003e]\nsch_direct_xmit+0x36/0x119\n[ 8683.928121]\n[ 8683.928121] stack backtrace:\n[ 8683.928121] Pid: 0, comm: swapper/0 Not tainted 3.4.1-build-0061 #14\n[ 8683.928121] Call Trace:\n[ 8683.928121]  [\u003cc034bdd2\u003e] ? printk+0x18/0x1a\n[ 8683.928121]  [\u003cc0158904\u003e] print_circular_bug+0x1ac/0x1b6\n[ 8683.928121]  [\u003cc0159f1b\u003e] __lock_acquire+0x9a3/0xc27\n[ 8683.928121]  [\u003cc015a561\u003e] lock_acquire+0x71/0x85\n[ 8683.928121]  [\u003ce0fc73ec\u003e] ? l2tp_xmit_skb+0x173/0x47e [l2tp_core]\n[ 8683.928121]  [\u003cc034da2d\u003e] _raw_spin_lock+0x33/0x40\n[ 8683.928121]  [\u003ce0fc73ec\u003e] ? l2tp_xmit_skb+0x173/0x47e [l2tp_core]\n[ 8683.928121]  [\u003ce0fc73ec\u003e] l2tp_xmit_skb+0x173/0x47e [l2tp_core]\n[ 8683.928121]  [\u003ce0fe31fb\u003e] l2tp_eth_dev_xmit+0x1a/0x2f [l2tp_eth]\n[ 8683.928121]  [\u003cc02e01e7\u003e] dev_hard_start_xmit+0x333/0x3f2\n[ 8683.928121]  [\u003cc02f064c\u003e] sch_direct_xmit+0x55/0x119\n[ 8683.928121]  [\u003cc02e0528\u003e] dev_queue_xmit+0x282/0x418\n[ 8683.928121]  [\u003cc02e02a6\u003e] ? dev_hard_start_xmit+0x3f2/0x3f2\n[ 8683.928121]  [\u003cc031f4fb\u003e] NF_HOOK.clone.19+0x45/0x4c\n[ 8683.928121]  [\u003cc031f524\u003e] arp_xmit+0x22/0x24\n[ 8683.928121]  [\u003cc02e02a6\u003e] ? dev_hard_start_xmit+0x3f2/0x3f2\n[ 8683.928121]  [\u003cc031f567\u003e] arp_send+0x41/0x48\n[ 8683.928121]  [\u003cc031fa7d\u003e] arp_process+0x289/0x491\n[ 8683.928121]  [\u003cc031f7f4\u003e] ? __neigh_lookup.clone.20+0x42/0x42\n[ 8683.928121]  [\u003cc031f4fb\u003e] NF_HOOK.clone.19+0x45/0x4c\n[ 8683.928121]  [\u003cc031f7a0\u003e] arp_rcv+0xb1/0xc3\n[ 8683.928121]  [\u003cc031f7f4\u003e] ? __neigh_lookup.clone.20+0x42/0x42\n[ 8683.928121]  [\u003cc02de91b\u003e] __netif_receive_skb+0x329/0x378\n[ 8683.928121]  [\u003cc02de9d3\u003e] process_backlog+0x69/0x130\n[ 8683.928121]  [\u003cc02df103\u003e] net_rx_action+0x90/0x15d\n[ 8683.928121]  [\u003cc012b2b5\u003e] __do_softirq+0x7b/0x118\n[ 8683.928121]  [\u003cc012b23a\u003e] ? local_bh_enable+0xd/0xd\n[ 8683.928121]  \u003cIRQ\u003e  [\u003cc012b4d0\u003e] ? irq_exit+0x41/0x91\n[ 8683.928121]  [\u003cc0103c6f\u003e] ? do_IRQ+0x79/0x8d\n[ 8683.928121]  [\u003cc0157ea1\u003e] ? trace_hardirqs_off_caller+0x2e/0x86\n[ 8683.928121]  [\u003cc034ef6e\u003e] ? common_interrupt+0x2e/0x34\n[ 8683.928121]  [\u003cc0108a33\u003e] ? default_idle+0x23/0x38\n[ 8683.928121]  [\u003cc01091a8\u003e] ? cpu_idle+0x55/0x6f\n[ 8683.928121]  [\u003cc033df25\u003e] ? rest_init+0xa1/0xa7\n[ 8683.928121]  [\u003cc033de84\u003e] ? __read_lock_failed+0x14/0x14\n[ 8683.928121]  [\u003cc0498745\u003e] ? start_kernel+0x303/0x30a\n[ 8683.928121]  [\u003cc0498209\u003e] ? repair_env_string+0x51/0x51\n[ 8683.928121]  [\u003cc04980a8\u003e] ? i386_start_kernel+0xa8/0xaf\n\nIt appears that like most virtual devices, l2tp should be converted to\nLLTX mode.\n\nThis patch takes care of statistics using atomic_long in both RX and TX\npaths, and fix a bug in l2tp_eth_dev_recv(), which was caching skb-\u003edata\nbefore a pskb_may_pull() call.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nCc: James Chapman \u003cjchapman@katalix.com\u003e\nCc: Hong zhi guo \u003chonkiko@gmail.com\u003e\nCc: Francois Romieu \u003cromieu@fr.zoreil.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "aa214de0595eecf5079a172a16333fa638b64915",
      "tree": "7bfb8c40355c96c01903a83f9ebd546f9bc1b73c",
      "parents": [
        "044ca2a5f2f781c7e4b49c7c0a256913648297ea"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Mon Jun 25 00:45:14 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 25 16:30:54 2012 -0700"
      },
      "message": "net: l2tp_eth: fix l2tp_eth_dev_xmit race\n\nIts illegal to dereference skb after giving it to l2tp_xmit_skb()\nas it might be already freed/reused.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "43b03f1f6d6832d744918947d185a7aee89d1e0f",
      "tree": "53a8c47d67dfcd23450d4068d08ccf2b7714c5e8",
      "parents": [
        "2da45db2bdd432a9dca825099c791f5c851f92b9",
        "5ee31c6898ea5537fcea160999d60dc63bc0c305"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 12 21:59:18 2012 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 12 21:59:18 2012 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tMAINTAINERS\n\tdrivers/net/wireless/iwlwifi/pcie/trans.c\n\nThe iwlwifi conflict was resolved by keeping the code added\nin \u0027net\u0027 that turns off the buggy chip feature.\n\nThe MAINTAINERS conflict was merely overlapping changes, one\nchange updated all the wireless web site URLs and the other\nchanged some GIT trees to be Johannes\u0027s instead of John\u0027s.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4399a4df98a63e30fd16e9d0cecc46ea92269e8f",
      "tree": "6068b48be8fe07b2501a849b152436c42106650d",
      "parents": [
        "6a2b28ef036ab5c66fdc606fe97d9e5cb34ea409"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Fri Jun 08 06:25:00 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 08 14:30:51 2012 -0700"
      },
      "message": "l2tp: fix a race in l2tp_ip_sendmsg()\n\nCommit 081b1b1bb27f (l2tp: fix l2tp_ip_sendmsg() route handling) added\na race, in case IP route cache is disabled.\n\nIn this case, we should not do the dst_release(\u0026rt-\u003edst), since it\u0027ll\nfree the dst immediately, instead of waiting a RCU grace period.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nCc: James Chapman \u003cjchapman@katalix.com\u003e\nCc: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a06998b88b1651c5f71c0e35f528bf2057188ead",
      "tree": "440f4da0f692186c728d5a1ebff7889c6844461d",
      "parents": [
        "da2e852612967a53d17de930929574444a67fb52"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "edumazet@google.com",
        "time": "Thu Jun 07 00:07:20 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jun 07 13:02:20 2012 -0700"
      },
      "message": "net: l2tp_eth: fix kernel panic on rmmod l2tp_eth\n\nWe must prevent module unloading if some devices are still attached to\nl2tp_eth driver.\n\nSigned-off-by: Eric Dumazet \u003cedumazet@google.com\u003e\nReported-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nTested-by: Denys Fedoryshchenko \u003cdenys@visp.net.lb\u003e\nCc: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e3192690a3c889767d1161b228374f4926d92af0",
      "tree": "a2acbe06cc2efedb6002055f9d4ffd7f2ba6ec75",
      "parents": [
        "29a6b6c060445eb46528785d51a2d8b0e6d898c4"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sun Jun 03 17:41:40 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 04 11:45:11 2012 -0400"
      },
      "message": "net: Remove casts to same type\n\nAdding casts of objects to the same type is unnecessary\nand confusing for a human reader.\n\nFor example, this cast:\n\n\tint y;\n\tint *p \u003d (int *)\u0026y;\n\nI used the coccinelle script below to find and remove these\nunnecessary casts.  I manually removed the conversions this\nscript produces of casts with __force and __user.\n\n@@\ntype T;\nT *p;\n@@\n\n-\t(T *)p\n+\tp\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e9412c37082b5c932e83364aaed0c38c2ce33acb",
      "tree": "479e716c478173830e378f432d3d0b24c6979541",
      "parents": [
        "2033e9bf06f07e049bbc77e9452856df846714cc"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue May 29 09:30:41 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 29 22:33:56 2012 -0400"
      },
      "message": "genetlink: Build a generic netlink family module alias\n\nGeneric netlink searches for -type- formatted aliases when requesting a module to\nfulfill a protocol request (i.e. net-pf-16-proto-16-type-\u003cx\u003e, where x is a type\nvalue).  However generic netlink protocols have no well defined type numbers,\nthey have string names.  Modify genl_ctrl_getfamily to request an alias in the\nformat net-pf-16-proto-16-family-\u003cx\u003e instead, where x is a generic string, and\nadd a macro that builds on the previously added MODULE_ALIAS_NET_PF_PROTO_NAME\nmacro to allow modules to specifify those generic strings.\n\nNote, l2tp previously hacked together an net-pf-16-proto-16-type-l2tp alias\nusing the MODULE_ALIAS macro, with these updates we can convert that to use the\nPROTO_NAME macro.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: James Chapman \u003cjchapman@katalix.com\u003e\nCC: David Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c51ce49735c183ef2592db70f918ee698716276b",
      "tree": "51387149e69b2d505fb784c40f7d27b79b6593ef",
      "parents": [
        "0c1833797a5a6ec23ea9261d979aa18078720b74"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Tue May 29 03:30:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 29 17:19:44 2012 -0400"
      },
      "message": "l2tp: fix oops in L2TP IP sockets for connect() AF_UNSPEC case\n\nAn application may call connect() to disconnect a socket using an\naddress with family AF_UNSPEC. The L2TP IP sockets were not handling\nthis case when the socket is not bound and an attempt to connect()\nusing AF_UNSPEC in such cases would result in an oops. This patch\naddresses the problem by protecting the sk_prot-\u003edisconnect() call\nagainst trying to unhash the socket before it is bound.\n\nThe L2TP IPv4 and IPv6 sockets have the same problem. Both are fixed\nby this patch.\n\nThe patch also adds more checks that the sockaddr supplied to bind()\nand connect() calls is valid.\n\n RIP: 0010:[\u003cffffffff82e133b0\u003e]  [\u003cffffffff82e133b0\u003e] inet_unhash+0x50/0xd0\n RSP: 0018:ffff88001989be28  EFLAGS: 00010293\n Stack:\n  ffff8800407a8000 0000000000000000 ffff88001989be78 ffffffff82e3a249\n  ffffffff82e3a050 ffff88001989bec8 ffff88001989be88 ffff8800407a8000\n  0000000000000010 ffff88001989bec8 ffff88001989bea8 ffffffff82e42639\n Call Trace:\n [\u003cffffffff82e3a249\u003e] udp_disconnect+0x1f9/0x290\n [\u003cffffffff82e42639\u003e] inet_dgram_connect+0x29/0x80\n [\u003cffffffff82d012fc\u003e] sys_connect+0x9c/0x100\n\nReported-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a4ca44fa578c7c7fd123b7fba3c2c98d4ba4e53d",
      "tree": "58be0839a0c08ee8eaff4fac160dfb70b6982a70",
      "parents": [
        "028940342a906db8da014a7603a0deddc2c323dd"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed May 16 09:55:56 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 17 04:34:38 2012 -0400"
      },
      "message": "net: l2tp: Standardize logging styles\n\nUse more current logging styles.\n\nAdd pr_fmt to prefix output appropriately.\nConvert printks to pr_\u003clevel\u003e.\nConvert PRINTK macros to new l2tp_\u003clevel\u003e macros.\nNeaten some \u003cfoo\u003e_refcount debugging macros.\nUse print_hex_dump_bytes instead of hand-coded loops.\nCoalesce formats and align arguments.\n\nSome KERN_DEBUG output is not now emitted unless\ndynamic_debugging is enabled.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d301e3256866bfd3ae3093aeb43d3ca9570d758e",
      "tree": "7395dbcfcefa7bbd1fc4ad68d8beed12190819be",
      "parents": [
        "38d40b3f4e223336422b7e87cb483e758ef87e3a"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Wed May 09 23:43:09 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:27:34 2012 -0400"
      },
      "message": "l2tp: fix data packet sequence number handling\n\nIf enabled, L2TP data packets have sequence numbers which a receiver\ncan use to drop out of sequence frames or try to reorder them. The\nfirst frame has sequence number 0, but the L2TP code currently expects\nit to be 1. This results in the first data frame being handled as out\nof sequence.\n\nThis one-line patch fixes the problem.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "38d40b3f4e223336422b7e87cb483e758ef87e3a",
      "tree": "59a1e49485c3fa596cf7538fd11c1aca589ad5ff",
      "parents": [
        "1070b1b831404455d79d15fe94ae9216fb5f8ab4"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Wed May 09 23:43:08 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 10 23:27:34 2012 -0400"
      },
      "message": "l2tp: fix reorder timeout recovery\n\nWhen L2TP data packet reordering is enabled, packets are held in a\nqueue while waiting for out-of-sequence packets. If a packet gets\nlost, packets will be held until the reorder timeout expires, when we\nare supposed to then advance to the sequence number of the next packet\nbut we don\u0027t currently do so. As a result, the data channel is stuck\nbecause we are waiting for a packet that will never arrive - all\npackets age out and none are passed.\n\nThe fix is to add a flag to the session context, which is set when the\nreorder timeout expires and tells the receive code to reset the next\nexpected sequence number to that of the next packet in the queue.\n\nTested in a production L2TP network with Starent and Nortel L2TP gear.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0d6c4a2e4641bbc556dd74d3aa158c413a972492",
      "tree": "da944af17682659bb433dc2282dcb48380c14cd1",
      "parents": [
        "6e06c0e2347ec79d0bd5702b2438fe883f784545",
        "1c430a727fa512500a422ffe4712166c550ea06a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon May 07 23:35:40 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nConflicts:\n\tdrivers/net/ethernet/intel/e1000e/param.c\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans-pcie-rx.c\n\tdrivers/net/wireless/iwlwifi/iwl-trans.h\n\nResolved the iwlwifi conflict with mainline using 3-way diff posted\nby John Linville and Stephen Rothwell.  In \u0027net\u0027 we added a bug\nfix to make iwlwifi report a more accurate skb-\u003etruesize but this\nconflicted with RX path changes that happened meanwhile in net-next.\n\nIn e1000e a conflict arose in the validation code for settings of\nadapter-\u003eitr.  \u0027net-next\u0027 had more sophisticated logic so that\nlogic was used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "84768edbb2721637620b2d84501bb0d5aed603f1",
      "tree": "6b62fcfca8398296c12e8ebbd37985295ce698e0",
      "parents": [
        "4fdcfa12843bca38d0c9deff70c8720e4e8f515f"
      ],
      "author": {
        "name": "Sasha Levin",
        "email": "levinsasha928@gmail.com",
        "time": "Wed May 02 03:58:43 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed May 02 21:04:33 2012 -0400"
      },
      "message": "net: l2tp: unlock socket lock before returning from l2tp_ip_sendmsg\n\nl2tp_ip_sendmsg could return without releasing socket lock, making it all the\nway to userspace, and generating the following warning:\n\n[  130.891594] \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[  130.894569] [ BUG: lock held when returning to user space! ]\n[  130.897257] 3.4.0-rc5-next-20120501-sasha #104 Tainted: G        W\n[  130.900336] ------------------------------------------------\n[  130.902996] trinity/8384 is leaving the kernel with locks still held!\n[  130.906106] 1 lock held by trinity/8384:\n[  130.907924]  #0:  (sk_lock-AF_INET){+.+.+.}, at: [\u003cffffffff82b9503f\u003e] l2tp_ip_sendmsg+0x2f/0x550\n\nIntroduced by commit 2f16270 (\"l2tp: Fix locking in l2tp_ip.c\").\n\nSigned-off-by: Sasha Levin \u003clevinsasha928@gmail.com\u003e\nAcked-by: Eric Dumazet \u003cedumazet@google.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5dac94e109263e75ab7fe4e66ef88e9b49f500bf",
      "tree": "d87a313b3078911e612e7b18d99853be282b7700",
      "parents": [
        "a32e0eec7042b21ccb52896cf715e3e2641fed93"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Sun Apr 29 21:48:55 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 01 09:30:55 2012 -0400"
      },
      "message": "l2tp: let iproute2 create L2TPv3 IP tunnels using IPv6\n\nThe netlink API lets users create unmanaged L2TPv3 tunnels using\niproute2. Until now, a request to create an unmanaged L2TPv3 IP\nencapsulation tunnel over IPv6 would be rejected with\nEPROTONOSUPPORT. Now that l2tp_ip6 implements sockets for L2TP IP\nencapsulation over IPv6, we can add support for that tunnel type.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "a32e0eec7042b21ccb52896cf715e3e2641fed93",
      "tree": "12880271e8f5fb4c5e48a0633e9a38d5a67a3448",
      "parents": [
        "a495f8364efe11f4813914b09cf0d026364d6969"
      ],
      "author": {
        "name": "Chris Elston",
        "email": "celston@katalix.com",
        "time": "Sun Apr 29 21:48:54 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 01 09:30:55 2012 -0400"
      },
      "message": "l2tp: introduce L2TPv3 IP encapsulation support for IPv6\n\nL2TPv3 defines an IP encapsulation packet format where data is carried\ndirectly over IP (no UDP). The kernel already has support for L2TP IP\nencapsulation over IPv4 (l2tp_ip). This patch introduces support for\nL2TP IP encapsulation over IPv6.\n\nThe implementation is derived from ipv6/raw and ipv4/l2tp_ip.\n\nSigned-off-by: Chris Elston \u003ccelston@katalix.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f9bac8df908d7c0a36960265c92f3445623b19d1",
      "tree": "58bc4af4f65eed62a01027d2358b713b1a060e37",
      "parents": [
        "2121c3f571f08bd723f449f2477f1582709f5a2a"
      ],
      "author": {
        "name": "Chris Elston",
        "email": "celston@katalix.com",
        "time": "Sun Apr 29 21:48:52 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 01 09:30:55 2012 -0400"
      },
      "message": "l2tp: netlink api for l2tpv3 ipv6 unmanaged tunnels\n\nThis patch adds support for unmanaged L2TPv3 tunnels over IPv6 using\nthe netlink API. We already support unmanaged L2TPv3 tunnels over\nIPv4. A patch to iproute2 to make use of this feature will be\nsubmitted separately.\n\nSigned-off-by: Chris Elston \u003ccelston@katalix.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2121c3f571f08bd723f449f2477f1582709f5a2a",
      "tree": "0c0c0d80e4a4965322622c50e606d155c8203bc5",
      "parents": [
        "b79585f537ba9631c9b6aafb54a8040c8d515fee"
      ],
      "author": {
        "name": "Chris Elston",
        "email": "celston@katalix.com",
        "time": "Sun Apr 29 21:48:51 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 01 09:30:55 2012 -0400"
      },
      "message": "l2tp: show IPv6 addresses in l2tp debugfs file\n\nIf an L2TP tunnel uses IPv6, make sure the l2tp debugfs file shows the\nIPv6 address correctly.\n\nSigned-off-by: Chris Elston \u003ccelston@katalix.com\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b79585f537ba9631c9b6aafb54a8040c8d515fee",
      "tree": "a0de8558ab9af6339573408bb2d5a1b4a3f51a20",
      "parents": [
        "9d4ec1aeda4a2754681a93029adf89f8f41b9a4d"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Sun Apr 29 21:48:50 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 01 09:30:55 2012 -0400"
      },
      "message": "l2tp: pppol2tp_connect() handles ipv6 sockaddr variants\n\nUserspace uses connect() to associate a pppol2tp socket with a tunnel\nsocket. This needs to allow the caller to supply the new IPv6\nsockaddr_pppol2tp structures if IPv6 is used.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c8657fd50a7553a4a9cb4b04cdc11419c9d93d9b",
      "tree": "769f1fe102c1ce94c113b728dc1ce541bee5eb00",
      "parents": [
        "de3c7a1827fa144917270eb66956930012ddae52"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Sun Apr 29 21:48:48 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 01 09:30:54 2012 -0400"
      },
      "message": "l2tp: remove unused stats from l2tp_ip socket\n\nThe l2tp_ip socket currently maintains packet/byte stats in its\nprivate socket structure. But these counters aren\u0027t exposed to\nuserspace and so serve no purpose. The counters were also\nsmp-unsafe. So this patch just gets rid of the stats.\n\nWhile here, change a couple of internal __u32 variables to u32.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "de3c7a1827fa144917270eb66956930012ddae52",
      "tree": "45aa11eafb79423c2aedadcc94de14223954afa2",
      "parents": [
        "5de7aee5413cdfe6f96289a84a5ad22b1314e873"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Sun Apr 29 21:48:47 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 01 09:30:54 2012 -0400"
      },
      "message": "l2tp: Use ip4_datagram_connect() in l2tp_ip_connect()\n\nCleanup the l2tp_ip code to make use of an existing ipv4 support function.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5de7aee5413cdfe6f96289a84a5ad22b1314e873",
      "tree": "f1c6cf02dde574fd0c23598132b9352512cb03a5",
      "parents": [
        "80bcb4238dd858d8ae460b62aac2f4165db58c3c"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Sun Apr 29 21:48:46 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 01 09:30:54 2012 -0400"
      },
      "message": "l2tp: fix locking of 64-bit counters for smp\n\nL2TP uses 64-bit counters but since these are not updated atomically,\nwe need to make them safe for smp. This patch addresses that.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d499bd2ee979cd0e1b5e3f6379d753582c67ec8c",
      "tree": "b7d493e894145675bda7994cec44dcada3371363",
      "parents": [
        "d2cf3361677e5bb5d01d45052212b7050a9aa8c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 30 13:21:28 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 30 13:21:28 2012 -0400"
      },
      "message": "l2tp: Add missing net/net/ip6_checksum.h include.\n\nReported-by: Stephen Rothwell \u003csfr@canb.auug.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d2cf3361677e5bb5d01d45052212b7050a9aa8c4",
      "tree": "a0239e574876ca385c8578c7cbffb783bf951e51",
      "parents": [
        "d7f3f62167bc2299d9669888b493b6e6ba561c35"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Fri Apr 27 08:24:18 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Apr 28 22:21:51 2012 -0400"
      },
      "message": "net/l2tp: add support for L2TP over IPv6 UDP\n\nNow that encap_rcv() works on IPv6 UDP sockets, wire L2TP up to IPv6.\nSupport has been tested with and without hardware offloading.  This\nversion fixes the L2TP over localhost issue with incorrect checksums\nbeing reported.\n\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "95c961747284a6b83a5e2d81240e214b0fa3464d",
      "tree": "c7be86a00db3605a48a03109fafcbe31039ca2e0",
      "parents": [
        "5e73ea1a31c3612aa6dfe44f864ca5b7b6a4cff9"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sun Apr 15 05:58:06 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 15 12:44:40 2012 -0400"
      },
      "message": "net: cleanup unsigned to unsigned int\n\nUse of \"unsigned int\" is preferred to bare \"unsigned\" in net tree.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "447167bf565a474ff0cfb0f41d54936937479e97",
      "tree": "38b03cb4e23bec19939545575e36f7395c5b156e",
      "parents": [
        "77577bf93275b485cecb4f358a085949c32e9dcd"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Apr 11 23:05:28 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 13:39:37 2012 -0400"
      },
      "message": "udp: intoduce udp_encap_needed static_key\n\nMost machines dont use UDP encapsulation (L2TP)\n\nAdds a static_key so that udp_queue_rcv_skb() doesnt have to perform a\ntest if L2TP never setup the encap_rcv on a socket.\n\nIdea of this patch came after Simon Horman proposal to add a hook on TCP\nas well.\n\nIf static_key is not yet enabled, the fast path does a single JMP .\n\nWhen static_key is enabled, JMP destination is patched to reach the real\nencap_type/encap_rcv logic, possibly adding cache misses.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Simon Horman \u003chorms@verge.net.au\u003e\nCc: dev@openvswitch.org\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e65ac4d54546b7d7514a9e8be1484c758f2b7ba3",
      "tree": "7b4bffabbe75739310e200360789e25732540da0",
      "parents": [
        "816a7854d56f19aeba3c83e1ed8c2c0ef275365a",
        "d62f8dbb5b7771910f7c4657345df8ac93acb832"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 11:30:55 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 11:36:48 2012 -0400"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\nPull in the \u0027net\u0027 tree to get CAIF bug fixes upon which\nthe following set of CAIF feature patches depend.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "c9be48dc8bb22f1f6e6ff1560b2b28e925a0b815",
      "tree": "b8f42aa6aed3289bf8dfd4b9a036efea93e1df0b",
      "parents": [
        "d1f224ae186b834af647661ffaf403a817c050ce"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Tue Apr 10 00:10:43 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 11:01:44 2012 -0400"
      },
      "message": "l2tp: don\u0027t overwrite source address in l2tp_ip_bind()\n\nApplications using L2TP/IP sockets want to be able to bind() an L2TP/IP\nsocket to set the local tunnel id while leaving the auto-assigned source\naddress alone. So if no source address is supplied, don\u0027t overwrite\nthe address already stored in the socket.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d1f224ae186b834af647661ffaf403a817c050ce",
      "tree": "ba97e12cf85c7f81e4829928ffdd5b4aad3e1fe7",
      "parents": [
        "31304165ffb888483e0f7c805876f25f493a3049"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Tue Apr 10 00:10:42 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Apr 13 11:01:44 2012 -0400"
      },
      "message": "l2tp: fix refcount leak in l2tp_ip sockets\n\nThe l2tp_ip socket close handler does not update the module refcount\ncorrectly which prevents module unload after the first bind() call on\nan L2TPv3 IP encapulation socket.\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60aed2abb3f6a713c3a9beda1436866079ee146c",
      "tree": "f404292a464d2d110330d3c63c29236d2ffc87bd",
      "parents": [
        "7cf7899d9ee31c88c86ea8459fc4db4bd11cc240"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 01 19:59:31 2012 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Apr 02 04:33:41 2012 -0400"
      },
      "message": "l2tp: Stop using NLA_PUT*().\n\nThese macros contain a hidden goto, and are thus extremely error\nprone and make code hard to audit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "9395a09d05a23bb313cd20c99fb234f308d948b3",
      "tree": "c0850e712e9b93eef264712a9868b150d15e70ce",
      "parents": [
        "8ec3e70207486bbd3e2d3c0d6b809116ccd4f219"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Mar 20 14:01:21 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 21 22:14:56 2012 -0400"
      },
      "message": "l2tp: enable automatic module loading for l2tp_ppp\n\nWhen L2TP is configured as a module, requests for L2TP sockets do not result\nin the l2tp_ppp module being loaded.  Fix this by adding the appropriate\nMODULE_ALIAS to be recognized by pppox\u0027s request_module() call.\n\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bbdb32cb5b73597386913d052165423b9d736145",
      "tree": "7eaad4e895ed2947eb75d6320df8460c01d1bf6c",
      "parents": [
        "a6506e1486181975d318344143aca722b2b91621"
      ],
      "author": {
        "name": "Benjamin LaHaise",
        "email": "bcrl@kvack.org",
        "time": "Tue Mar 20 03:57:54 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 20 16:12:11 2012 -0400"
      },
      "message": "Fix pppol2tp getsockname()\n\nWhile testing L2TP functionality, I came across a bug in getsockname().  The\nIP address returned within the pppol2tp_addr\u0027s addr memember was not being\nset to the IP  address in use.  This bug is caused by using inet_sk() on the\nwrong socket (the L2TP socket rather than the underlying UDP socket), and was\nlikely introduced during the addition of L2TPv3 support.\n\nSigned-off-by: Benjamin LaHaise \u003cbcrl@kvack.org\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4b32da2bcf1de2b7a196a0e48389d231b4472c36",
      "tree": "440b246f9fffb1126ceab28d7aa4c55c59187e11",
      "parents": [
        "bf7daebb9fba540cb8864f435f153678b3e5c171"
      ],
      "author": {
        "name": "Paul Mackerras",
        "email": "paulus@samba.org",
        "time": "Sun Mar 04 12:56:55 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Mar 04 20:41:38 2012 -0500"
      },
      "message": "ppp: Replace uses of \u003clinux/if_ppp.h\u003e with \u003clinux/ppp-ioctl.h\u003e\n\nSince all that include/linux/if_ppp.h does is #include \u003clinux/ppp-ioctl.h\u003e,\nthis replaces the occurrences of #include \u003clinux/if_ppp.h\u003e with\n#include \u003clinux/ppp-ioctl.h\u003e.\n\nIt also corrects an error in Documentation/networking/l2tp.txt, where\nit referenced include/linux/if_ppp.h as the source of some definitions\nthat are actually now defined in include/linux/if_pppol2tp.h.\n\nSigned-off-by: Paul Mackerras \u003cpaulus@samba.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f2cedb63df14342ad40a8b5b324fc5d94a60b665",
      "tree": "bebdbe0f98c216e59849bc3adb85f8abf5aadc2b",
      "parents": [
        "a1e785e02bb53573443c7e58a444cef1a049f6ce"
      ],
      "author": {
        "name": "Danny Kukawka",
        "email": "danny.kukawka@bisect.de",
        "time": "Wed Feb 15 06:45:39 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 15 15:34:16 2012 -0500"
      },
      "message": "net: replace random_ether_addr() with eth_hw_addr_random()\n\nReplace usage of random_ether_addr() with eth_hw_addr_random()\nto set addr_assign_type correctly to NET_ADDR_RANDOM.\n\nChange the trivial cases.\n\nv2: adapt to renamed eth_hw_addr_random()\n\nSigned-off-by: Danny Kukawka \u003cdanny.kukawka@bisect.de\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68315801dbf3ab2001679fd2074c9dc5dcf87dfa",
      "tree": "24e7989e852b6a32f2fd980d1b6958720175f7dc",
      "parents": [
        "701b259f446be2f3625fb852bceb93afe76e206d"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Wed Jan 25 02:39:05 2012 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 25 21:45:00 2012 -0500"
      },
      "message": "l2tp: l2tp_ip - fix possible oops on packet receive\n\nWhen a packet is received on an L2TP IP socket (L2TPv3 IP link\nencapsulation), the l2tpip socket\u0027s backlog_rcv function calls\nxfrm4_policy_check(). This is not necessary, since it was called\nbefore the skb was added to the backlog. With CONFIG_NET_NS enabled,\nxfrm4_policy_check() will oops if skb-\u003edev is null, so this trivial\npatch removes the call.\n\nThis bug has always been present, but only when CONFIG_NET_NS is\nenabled does it cause problems. Most users are probably using UDP\nencapsulation for L2TP, hence the problem has only recently\nsurfaced.\n\nEIP: 0060:[\u003cc12bb62b\u003e] EFLAGS: 00210246 CPU: 0\nEIP is at l2tp_ip_recvmsg+0xd4/0x2a7\nEAX: 00000001 EBX: d77b5180 ECX: 00000000 EDX: 00200246\nESI: 00000000 EDI: d63cbd30 EBP: d63cbd18 ESP: d63cbcf4\n DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068\nCall Trace:\n [\u003cc1218568\u003e] sock_common_recvmsg+0x31/0x46\n [\u003cc1215c92\u003e] __sock_recvmsg_nosec+0x45/0x4d\n [\u003cc12163a1\u003e] __sock_recvmsg+0x31/0x3b\n [\u003cc1216828\u003e] sock_recvmsg+0x96/0xab\n [\u003cc10b2693\u003e] ? might_fault+0x47/0x81\n [\u003cc10b2693\u003e] ? might_fault+0x47/0x81\n [\u003cc1167fd0\u003e] ? _copy_from_user+0x31/0x115\n [\u003cc121e8c8\u003e] ? copy_from_user+0x8/0xa\n [\u003cc121ebd6\u003e] ? verify_iovec+0x3e/0x78\n [\u003cc1216604\u003e] __sys_recvmsg+0x10a/0x1aa\n [\u003cc1216792\u003e] ? sock_recvmsg+0x0/0xab\n [\u003cc105a99b\u003e] ? __lock_acquire+0xbdf/0xbee\n [\u003cc12d5a99\u003e] ? do_page_fault+0x193/0x375\n [\u003cc10d1200\u003e] ? fcheck_files+0x9b/0xca\n [\u003cc10d1259\u003e] ? fget_light+0x2a/0x9c\n [\u003cc1216bbb\u003e] sys_recvmsg+0x2b/0x43\n [\u003cc1218145\u003e] sys_socketcall+0x16d/0x1a5\n [\u003cc11679f0\u003e] ? trace_hardirqs_on_thunk+0xc/0x10\n [\u003cc100305f\u003e] sysenter_do_call+0x12/0x38\nCode: c6 05 8c ea a8 c1 01 e8 0c d4 d9 ff 85 f6 74 07 3e ff 86 80 00 00 00 b9 17 b6 2b c1 ba 01 00 00 00 b8 78 ed 48 c1 e8 23 f6 d9 ff \u003cff\u003e 76 0c 68 28 e3 30 c1 68 2d 44 41 c1 e8 89 57 01 00 83 c4 0c\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "71b1391a41289735676be02e35239e5aa9fe6ba6",
      "tree": "2651b2efbbdc39beb00bcf3e9cd45f949952c240",
      "parents": [
        "8a6e77d5209e459a9ec5c268c39800c06cd1dc86"
      ],
      "author": {
        "name": "Florian Westphal",
        "email": "fw@strlen.de",
        "time": "Fri Nov 25 06:47:16 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Nov 26 15:57:36 2011 -0500"
      },
      "message": "l2tp: ensure sk-\u003edst is still valid\n\nWhen using l2tp over ipsec, the tunnel will hang when rekeying\noccurs. Reason is that the transformer bundle attached to the dst entry\nis now in STATE_DEAD and thus xfrm_output_one() drops all packets\n(XfrmOutStateExpired increases).\n\nFix this by calling __sk_dst_check (which drops the stale dst\nif xfrm dst-\u003echeck callback finds that the bundle is no longer valid).\n\nCc: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: Florian Westphal \u003cfw@strlen.de\u003e\nAcked-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e50e705ca71db82a78a3e13fb7abf6b2171ac9c7",
      "tree": "619ba1fcb3906259b99533a0f53b0b218e52c507",
      "parents": [
        "ea1649dea95fb270af94f75e842402c4cfbfc15f"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Nov 08 13:59:44 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 08 13:59:44 2011 -0500"
      },
      "message": "l2tp: fix l2tp_udp_recv_core()\n\npskb_may_pull() can change skb-\u003edata, so we have to load ptr/optr at the\nright place.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e2e210c0238eb7073e07af503ae743fa53977120",
      "tree": "a4940a436eb0292f09a9e9c09d7bfccfc5a0d76f",
      "parents": [
        "2edcd4ca43df3c1d1d392753531cc73a53e709ba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed Nov 02 22:47:44 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Nov 03 18:02:13 2011 -0400"
      },
      "message": "l2tp: fix race in l2tp_recv_dequeue()\n\nMisha Labjuk reported panics occurring in l2tp_recv_dequeue()\n\nIf we release reorder_q.lock, we must not keep a dangling pointer (tmp),\nsince another thread could manipulate reorder_q.\n\nInstead we must restart the scan at beginning of list.\n\nReported-by: Misha Labjuk \u003cspiked.yar@gmail.com\u003e\nTested-by: Misha Labjuk \u003cspiked.yar@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "1805b2f04855f07afe3a71d620a68f483b0ed74f",
      "tree": "b823b90f37f5404fcaef70f785c70112ca74a329",
      "parents": [
        "78d81d15b74246c7cedf84894434890b33da3907",
        "f42af6c486aa5ca6ee62800cb45c5b252020509d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 18:18:09 2011 -0400"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 24 18:18:09 2011 -0400"
      },
      "message": "Merge branch \u0027master\u0027 of ra.kernel.org:/pub/scm/linux/kernel/git/davem/net\n"
    },
    {
      "commit": "09df57ca604512b29b6096afb381c839ccbd2912",
      "tree": "d7a820fea1ef93ad5a2e8ba74926b85b451428cb",
      "parents": [
        "bc416d9768aa9a2e46eb11354a9c58399dafeb01"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 07 05:45:57 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 18 23:33:44 2011 -0400"
      },
      "message": "l2tp: give proper headroom in pppol2tp_xmit()\n\npppol2tp_xmit() calls skb_cow_head(skb, 2) before calling\nl2tp_xmit_skb()\n\nThen l2tp_xmit_skb() calls again skb_cow_head(skb, large_headroom)\n\nThis patchs changes the first skb_cow_head() call to supply the needed\nheadroom to make sure at most one (expensive) pskb_expand_head() is\ndone.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "835acf5da239b91edb9f7ebe36516999e156e6ee",
      "tree": "619c14b343ef06c4a9e243f030930983b15530ab",
      "parents": [
        "1ce5cce895309862d2c35d922816adebe094fe4a"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Fri Oct 07 05:35:46 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 18 23:32:00 2011 -0400"
      },
      "message": "l2tp: fix a potential skb leak in l2tp_xmit_skb()\n\nl2tp_xmit_skb() can leak one skb if skb_cow_head() returns an error.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d5eab9152a3b4ce962c02ad0a0e4d0ec94aadd92",
      "tree": "3147f8de2805da0f026ea18103a9be46f3bc2a18",
      "parents": [
        "6140333d3656f62ac7e6a5af87e7fe92cfb8d655",
        "a051294423b015c5c89f2ed78f7fe0893b775098"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:58:19 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jul 28 05:58:19 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net: (32 commits)\n  tg3: Remove 5719 jumbo frames and TSO blocks\n  tg3: Break larger frags into 4k chunks for 5719\n  tg3: Add tx BD budgeting code\n  tg3: Consolidate code that calls tg3_tx_set_bd()\n  tg3: Add partial fragment unmapping code\n  tg3: Generalize tg3_skb_error_unmap()\n  tg3: Remove short DMA check for 1st fragment\n  tg3: Simplify tx bd assignments\n  tg3: Reintroduce tg3_tx_ring_info\n  ASIX: Use only 11 bits of header for data size\n  ASIX: Simplify condition in rx_fixup()\n  Fix cdc-phonet build\n  bonding: reduce noise during init\n  bonding: fix string comparison errors\n  net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared\n  net: add IFF_SKB_TX_SHARED flag to priv_flags\n  net: sock_sendmsg_nosec() is static\n  forcedeth: fix vlans\n  gianfar: fix bug caused by 87c288c6e9aa31720b72e2bc2d665e24e1653c3e\n  gro: Only reset frag0 when skb can be pulled\n  ...\n"
    },
    {
      "commit": "550fd08c2cebad61c548def135f67aba284c6162",
      "tree": "8aa7c4d20a9faeb42261b75cfa38d8fd27b574ff",
      "parents": [
        "d8873315065f1f527c7c380402cf59b1e1d0ae36"
      ],
      "author": {
        "name": "Neil Horman",
        "email": "nhorman@tuxdriver.com",
        "time": "Tue Jul 26 06:05:38 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jul 27 22:39:30 2011 -0700"
      },
      "message": "net: Audit drivers to identify those needing IFF_TX_SKB_SHARING cleared\n\nAfter the last patch, We are left in a state in which only drivers calling\nether_setup have IFF_TX_SKB_SHARING set (we assume that drivers touching real\nhardware call ether_setup for their net_devices and don\u0027t hold any state in\ntheir skbs.  There are a handful of drivers that violate this assumption of\ncourse, and need to be fixed up.  This patch identifies those drivers, and marks\nthem as not being able to support the safe transmission of skbs by clearning the\nIFF_TX_SKB_SHARING flag in priv_flags\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nCC: Karsten Keil \u003cisdn@linux-pingi.de\u003e\nCC: \"David S. Miller\" \u003cdavem@davemloft.net\u003e\nCC: Jay Vosburgh \u003cfubar@us.ibm.com\u003e\nCC: Andy Gospodarek \u003candy@greyhouse.net\u003e\nCC: Patrick McHardy \u003ckaber@trash.net\u003e\nCC: Krzysztof Halasa \u003ckhc@pm.waw.pl\u003e\nCC: \"John W. Linville\" \u003clinville@tuxdriver.com\u003e\nCC: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nCC: Marcel Holtmann \u003cmarcel@holtmann.org\u003e\nCC: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "60063497a95e716c9a689af3be2687d261f115b4",
      "tree": "6ce0d68db76982c53df46aee5f29f944ebf2c320",
      "parents": [
        "148817ba092f9f6edd35bad3c6c6b8e8f90fe2ed"
      ],
      "author": {
        "name": "Arun Sharma",
        "email": "asharma@fb.com",
        "time": "Tue Jul 26 16:09:06 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 26 16:49:47 2011 -0700"
      },
      "message": "atomic: use \u003clinux/atomic.h\u003e\n\nThis allows us to move duplicated code in \u003casm/atomic.h\u003e\n(atomic_inc_not_zero() for now) to \u003clinux/atomic.h\u003e\n\nSigned-off-by: Arun Sharma \u003casharma@fb.com\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: David Miller \u003cdavem@davemloft.net\u003e\nCc: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9f6ec8d697c08963d83880ccd35c13c5ace716ea",
      "tree": "ad8d93cf6fcdd09b86ade09f5fcbbc66cdb1cca2",
      "parents": [
        "4aa3a715551c93eda32d79bd52042ce500bd5383",
        "56299378726d5f2ba8d3c8cbbd13cb280ba45e4f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jun 20 22:29:08 2011 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/iwlwifi/iwl-agn-rxon.c\n\tdrivers/net/wireless/rtlwifi/pci.c\n\tnet/netfilter/ipvs/ip_vs_core.c\n"
    },
    {
      "commit": "081b1b1bb27f1f4a3b682f4cf75103108f2066d7",
      "tree": "6b46eac808fe4292bff144ff0b5e6461ef957810",
      "parents": [
        "ec1d7c9a5e9c136e08a9b1df3109ad5d38d8179c"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Sat Jun 11 22:27:09 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@conan.davemloft.net",
        "time": "Mon Jun 13 17:31:30 2011 -0400"
      },
      "message": "l2tp: fix l2tp_ip_sendmsg() route handling\n\nl2tp_ip_sendmsg() in non connected mode incorrectly calls\nsk_setup_caps(). Subsequent send() calls send data to wrong destination.\n\nWe can also avoid changing dst refcount in connected mode, using\nappropriate rcu locking. Once output route lookups can also be done\nunder rcu, sendto() calls wont change dst refcounts too.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@conan.davemloft.net\u003e\n"
    },
    {
      "commit": "b8f07a063163f8216cd891c5b007e839a56b6d93",
      "tree": "83cd31339371ab707d29e1275633baf4d3db2a65",
      "parents": [
        "c316e6a3084cef1a5857cd66bb5429c969f06c93"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Sun Jun 05 00:54:03 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jun 05 14:11:09 2011 -0700"
      },
      "message": "fix return values of l2tp_dfs_seq_open()\n\nMore fallout from struct net lifetime rules review: PTR_ERR() is *already*\nnegative and failing -\u003eopen() should return negatives on failure.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "06f4e926d256d902dd9a53dcb400fd74974ce087",
      "tree": "0b438b67f5f0eff6fd617bc497a9dace6164a488",
      "parents": [
        "8e7bfcbab3825d1b404d615cb1b54f44ff81f981",
        "d93515611bbc70c2fe4db232e5feb448ed8e4cc9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 20 13:43:21 2011 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1446 commits)\n  macvlan: fix panic if lowerdev in a bond\n  tg3: Add braces around 5906 workaround.\n  tg3: Fix NETIF_F_LOOPBACK error\n  macvlan: remove one synchronize_rcu() call\n  networking: NET_CLS_ROUTE4 depends on INET\n  irda: Fix error propagation in ircomm_lmp_connect_response()\n  irda: Kill set but unused variable \u0027bytes\u0027 in irlan_check_command_param()\n  irda: Kill set but unused variable \u0027clen\u0027 in ircomm_connect_indication()\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_transport()\n  be2net: Kill set but unused variable \u0027req\u0027 in lancer_fw_download()\n  irda: Kill set but unused vars \u0027saddr\u0027 and \u0027daddr\u0027 in irlan_provider_connect_indication()\n  atl1c: atl1c_resume() is only used when CONFIG_PM_SLEEP is defined.\n  rxrpc: Fix set but unused variable \u0027usage\u0027 in rxrpc_get_peer().\n  rxrpc: Kill set but unused variable \u0027local\u0027 in rxrpc_UDP_error_handler()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_process_connection()\n  rxrpc: Kill set but unused variable \u0027sp\u0027 in rxrpc_rotate_tx_window()\n  pkt_sched: Kill set but unused variable \u0027protocol\u0027 in tc_classify()\n  isdn: capi: Use pr_debug() instead of ifdefs.\n  tg3: Update version to 3.119\n  tg3: Apply rx_discards fix to 5719/5720\n  ...\n\nFix up trivial conflicts in arch/x86/Kconfig and net/mac80211/agg-tx.c\nas per Davem.\n"
    },
    {
      "commit": "1769192a3c50778e03352a3d95faec830d47ba55",
      "tree": "9764b821abc0ddc4fa22c239e00460636aa77203",
      "parents": [
        "3c709f8fb43e07a0403bba4a8ca7ba00ab874994"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Wed May 11 18:22:36 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu May 12 17:27:10 2011 -0400"
      },
      "message": "l2tp: fix potential rcu race\n\nWhile trying to remove useless synchronize_rcu() calls, I found l2tp is\nindeed incorrectly using two of such calls, but also bumps tunnel\nrefcount after list insertion.\n\ntunnel refcount must be incremented before being made publically visible\nby rcu readers.\n\nThis fix can be applied to 2.6.35+ and might need a backport for older\nkernels, since things were shuffled in commit fd558d186df2c\n(l2tp: Split pppol2tp patch into separate l2tp and ppp parts)\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCC: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nCC: James Chapman \u003cjchapman@katalix.com\u003e\nReviewed-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "d9d8da805dcb503ef8ee49918a94d49085060f23",
      "tree": "ede7d2af74c2982eb24430079aea63c05a3420e9",
      "parents": [
        "0e734419923bd8e599858f8fc196c7804bb85564"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri May 06 22:23:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 15:28:28 2011 -0700"
      },
      "message": "inet: Pass flowi to -\u003equeue_xmit().\n\nThis allows us to acquire the exact route keying information from the\nprotocol, however that might be managed.\n\nIt handles all of the possibilities, from the simplest case of storing\nthe key in inet-\u003ecork.fl to the more complex setup SCTP has where\nindividual transports determine the flow.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdbb0f076b065a0c753ba26925f10357505f1d42",
      "tree": "7b868c7216c2e5f29af9e06f58eec2ced201bb6f",
      "parents": [
        "6af88da14ee284aaad6e4326da09a89191ab6165"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:48:37 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:48:37 2011 -0700"
      },
      "message": "l2tp: Use cork flow in l2tp_ip_connect() and l2tp_ip_sendmsg()\n\nNow that the socket is consistently locked in these two routines,\nthis transformation is legal.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6af88da14ee284aaad6e4326da09a89191ab6165",
      "tree": "bde47277368279454abff9a860be9292556c7089",
      "parents": [
        "2f16270f41e1499e23e6be25c51be87d950ffc91"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:45:20 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:45:20 2011 -0700"
      },
      "message": "l2tp: Fix locking in l2tp_core.c\n\nl2tp_xmit_skb() must take the socket lock.  It makes use of ip_queue_xmit()\nwhich expects to execute in a socket atomic context.\n\nSince we execute this function in software interrupts, we cannot use the\nusual lock_sock()/release_sock() sequence, instead we have to use\nbh_lock_sock() and see if a user has the socket locked, and if so drop\nthe packet.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f16270f41e1499e23e6be25c51be87d950ffc91",
      "tree": "b3d40d33c4ff5470eb3642d44064fe4ec4caff92",
      "parents": [
        "da905bd1d5a6480d206f4b3dc61243f95adfae2c"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:39:01 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun May 08 13:39:01 2011 -0700"
      },
      "message": "l2tp: Fix locking in l2tp_ip.c\n\nBoth l2tp_ip_connect() and l2tp_ip_sendmsg() must take the socket\nlock.  They both modify socket state non-atomically, and in particular\nl2tp_ip_sendmsg() increments socket private counters without using\natomic operations.\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "31e4543db29fb85496a122b965d6482c8d1a2bfe",
      "tree": "3e49d61a1202e1b3c8c71e422f3fd8e4f2616d01",
      "parents": [
        "f1390160ddcd64a3cfd48b3280d0a616a31b9520"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:25:42 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue May 03 20:25:42 2011 -0700"
      },
      "message": "ipv4: Make caller provide on-stack flow key to ip_route_output_ports().\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ad227425c9ca907b5498e2558320b7e585d86ec9",
      "tree": "84ef96e5fe88f08b8fbce7194213021b6291fa8e",
      "parents": [
        "d4fb3d74d7a17833de2ba8cbd4f029b30feb4825"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:50:49 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:50:49 2011 -0700"
      },
      "message": "ipv4: Get route daddr from flow key in l2tp_ip_connect().\n\nNow that output route lookups update the flow with\ndestination address selection, we can fetch it from\nfl4-\u003edaddr instead of rt-\u003ert_dst\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "44901666a1a736b3f43eac7894b07183f127e9a9",
      "tree": "96d8e36a7286a1732f3c325c96d65b03443634de",
      "parents": [
        "4071cfff84c5b084762fe288781cd7faab14cb4b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:17:58 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 23:17:58 2011 -0700"
      },
      "message": "ipv4: Fetch route saddr from flow key in l2tp_ip_connect().\n\nNow that output route lookups update the flow with\nsource address selection, we can fetch it from\nfl4-\u003esaddr instead of rt-\u003ert_src\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "778865a550e7958c1211242cc481f48d46de0f04",
      "tree": "d91a4d3b432511936f903ed8cb6022ad0b6102b0",
      "parents": [
        "b801a4e7092bb869fb5a7d8ee11a9435c5c7b2b1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 13:54:06 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 13:54:06 2011 -0700"
      },
      "message": "l2tp: Fix inet_opt conversion.\n\nWe don\u0027t actually hold the socket lock at this point, so the\nrcu_dereference_protected() isn\u0027t\u0027 correct.  Thanks to Eric\nDumazet for pointing this out.\n\nThankfully, we\u0027re only interested in fetching the faddr value\nif srr is enabled, so we can simply make this an RCU sequence\nand use plain rcu_dereference().\n\nReported-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "f6d8bd051c391c1c0458a30b2a7abcd939329259",
      "tree": "1dc4daecdeb0b42c2c6b59d7d6b41e091c11db5f",
      "parents": [
        "0a14842f5a3c0e88a1e59fac5c3025db39721f74"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Apr 21 09:45:37 2011 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Apr 28 13:16:35 2011 -0700"
      },
      "message": "inet: add RCU protection to inet-\u003eopt\n\nWe lack proper synchronization to manipulate inet-\u003eopt ip_options\n\nProblem is ip_make_skb() calls ip_setup_cork() and\nip_setup_cork() possibly makes a copy of ipc-\u003eopt (struct ip_options),\nwithout any protection against another thread manipulating inet-\u003eopt.\n\nAnother thread can change inet-\u003eopt pointer and free old one under us.\n\nUse RCU to protect inet-\u003eopt (changed to inet-\u003einet_opt).\n\nInstead of handling atomic refcounts, just copy ip_options when\nnecessary, to avoid cache line dirtying.\n\nWe cant insert an rcu_head in struct ip_options since its included in\nskb-\u003ecb[], so this patch is large because I had to introduce a new\nip_options_rcu structure.\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nCc: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2d7192d6cbab20e153c47fa1559ffd41ceef0e79",
      "tree": "aac4c4132f5b4a173ad8f8d0bf24427e039bbc89",
      "parents": [
        "15ecd039b7182d725f4294e01f2fb12c3a88db17"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Apr 26 13:28:44 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Apr 27 13:59:04 2011 -0700"
      },
      "message": "ipv4: Sanitize and simplify ip_route_{connect,newports}()\n\nThese functions are used together as a unit for route resolution\nduring connect().  They address the chicken-and-egg problem that\nexists when ports need to be allocated during connect() processing,\nyet such port allocations require addressing information from the\nrouting code.\n\nIt\u0027s currently more heavy handed than it needs to be, and in\nparticular we allocate and initialize a flow object twice.\n\nLet the callers provide the on-stack flow object.  That way we only\nneed to initialize it once in the ip_route_connect() call.\n\nLater, if ip_route_newports() needs to do anything, it re-uses that\nflow object as-is except for the ports which it updates before the\nroute re-lookup.\n\nAlso, describe why this set of facilities are needed and how it works\nin a big comment.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\nReviewed-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\n"
    },
    {
      "commit": "e9c549998dc24209847007e1f209f3b6c88d21ba",
      "tree": "0f52fcbe1dfa158349afc6ad2edaa6738615dc3b",
      "parents": [
        "8e10cd74342c7f5ce259cceca36f6eba084f5d58"
      ],
      "author": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 26 23:28:26 2011 -0700"
      },
      "committer": {
        "name": "Lucas De Marchi",
        "email": "lucas.demarchi@profusion.mobi",
        "time": "Tue Apr 26 23:31:11 2011 -0700"
      },
      "message": "Revert wrong fixes for common misspellings\n\nThese changes were incorrectly fixed by codespell. They were now\nmanually corrected.\n\nSigned-off-by: Lucas De Marchi \u003clucas.demarchi@profusion.mobi\u003e\n"
    },
    {
      "commit": "8cb490144708ef295421d0601b0866623651a37e",
      "tree": "fd6b542038c938e789c2eea9af54e46767f15cb5",
      "parents": [
        "6385969b3297287e6259a012671be09c78c20620"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 17:01:05 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Apr 17 17:01:05 2011 -0700"
      },
      "message": "l2tp: Fix set-but-unused variables.\n\nThe variable \u0027ret\u0027 is set but unused in l2tp_nl_register_ops().\n\nThis was obviously meant to maintain error codes which are\nreturned to the caller, make it so.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8aa525a9340da4227797a06221ca08399006635f",
      "tree": "1a9d41975a68aae50b4905f2da6a3dee3a54b68f",
      "parents": [
        "a454f0ccefbfdbfc0e1aa8a5f8010af5e48b8845"
      ],
      "author": {
        "name": "James Chapman",
        "email": "jchapman@katalix.com",
        "time": "Mon Mar 21 18:10:25 2011 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Mar 21 18:10:25 2011 -0700"
      },
      "message": "l2tp: fix possible oops on l2tp_eth module unload\n\nA struct used in the l2tp_eth driver for registering network namespace\nops was incorrectly marked as __net_initdata, leading to oops when\nmodule unloaded.\n\nBUG: unable to handle kernel paging request at ffffffffa00ec098\nIP: [\u003cffffffff8123dbd8\u003e] ops_exit_list+0x7/0x4b\nPGD 142d067 PUD 1431063 PMD 195da8067 PTE 0\nOops: 0000 [#1] SMP \nlast sysfs file: /sys/module/l2tp_eth/refcnt\nCall Trace:\n [\u003cffffffff8123dc94\u003e] ? unregister_pernet_operations+0x32/0x93\n [\u003cffffffff8123dd20\u003e] ? unregister_pernet_device+0x2b/0x38\n [\u003cffffffff81068b6e\u003e] ? sys_delete_module+0x1b8/0x222\n [\u003cffffffff810c7300\u003e] ? do_munmap+0x254/0x318\n [\u003cffffffff812c64e5\u003e] ? page_fault+0x25/0x30\n [\u003cffffffff812c6952\u003e] ? system_call_fastpath+0x16/0x1b\n\nSigned-off-by: James Chapman \u003cjchapman@katalix.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "78fbfd8a653ca972afe479517a40661bfff6d8c3",
      "tree": "9dccc5c16bf269d53d8499064ec95a998e84c646",
      "parents": [
        "1561747ddf9d28185548687b11aae7074d6129c4"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 00:00:52 2011 -0500"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Mar 12 15:08:42 2011 -0800"
      },
      "message": "ipv4: Create and use route lookup helpers.\n\nThe idea here is this minimizes the number of places one has to edit\nin order to make changes to how flows are defined and used.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b23dd4fe42b455af5c6e20966b7d6959fa8352ea",
      "tree": "bf97323eae9a8d084170e573ff2c0c40bc72c3cd",
      "parents": [
        "452edd598f60522c11f7f88fdbab27eb36509d1a"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Mar 02 14:31:35 2011 -0800"
      },
      "message": "ipv4: Make output route lookup return rtable directly.\n\nInstead of on the stack.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "273447b352e69c327efdecfd6e1d6fe3edbdcd14",
      "tree": "dae1e0778ca973c25b74fd3dc9728616d6e65b73",
      "parents": [
        "5df65e5567a497a28067019b8ff08f98fb026629"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:27:04 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:27:04 2011 -0800"
      },
      "message": "ipv4: Kill can_sleep arg to ip_route_output_flow()\n\nThis boolean state is now available in the flow flags.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "420d44daa7aa1cc847e9e527f0a27a9ce61768ca",
      "tree": "a5aab8c6b925ba3da1079b7262f7d6c504406eb8",
      "parents": [
        "abdf7e7239da270e68262728f125ea94b9b7d42d"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:19:23 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:19:23 2011 -0800"
      },
      "message": "ipv4: Make final arg to ip_route_output_flow to be boolean \"can_sleep\"\n\nSince that is what the current vague \"flags\" argument means.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "abdf7e7239da270e68262728f125ea94b9b7d42d",
      "tree": "30c1246fac76ad7a4d2b1f8dcf3698b4d302b4de",
      "parents": [
        "68d0c6d34d586a893292d4fb633a3bf8c547b222"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:15:24 2011 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Mar 01 14:15:24 2011 -0800"
      },
      "message": "ipv4: Can final ip_route_connect() arg to boolean \"can_sleep\".\n\nSince that\u0027s what the current vague \"flags\" thing means.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fe6c791570efe717946ea7b7dd50aec96b70d551",
      "tree": "1becb5e8aea7a9c9a7d78f987bd73b0a5d8ee434",
      "parents": [
        "f8bf5681cf15f77692c8ad8cb95d059ff7c622c9",
        "f19872575ff7819a3723154657a497d9bca66b33"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:15:38 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 08 13:47:38 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n\nConflicts:\n\tdrivers/net/wireless/ath/ath9k/ar9003_eeprom.c\n\tnet/llc/af_llc.c\n"
    }
  ],
  "next": "e8d34a884e4ff118920bb57664def8a73b1b784f"
}
