)]}'
{
  "log": [
    {
      "commit": "c15853f2c1c9baaa27bbc494cd183be96f6d9bb9",
      "tree": "0f5735eb9c3fedc715f58d4aeeeed162eabb5d3a",
      "parents": [
        "fa907895b7b776208a1406efe5ba7ffe0f49f507"
      ],
      "author": {
        "name": "Daniel Lezcano",
        "email": "dlezcano@fr.ibm.com",
        "time": "Wed Feb 20 00:21:47 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Feb 20 00:21:47 2008 -0800"
      },
      "message": "veth: fix dev refcount race\n\nWhen deleting the veth driver, veth_close calls netif_carrier_off\nfor the two extremities of the network device. netif_carrier_off on\nthe peer device will fire an event and hold a reference on the peer\ndevice. Just after, the peer is unregistered taking the rtnl_lock while\nthe linkwatch_event is scheduled. If __linkwatch_run_queue does not\noccurs before the unregistering, unregister_netdevice will wait for\nthe dev refcount to reach zero holding the rtnl_lock and linkwatch_event\nwill wait for the rtnl_lock and hold the dev refcount.\n\nSigned-off-by: Daniel Lezcano \u003cdlezcano@fr.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "68365458a4252fa993b91a00f7a0b18fed399f0d",
      "tree": "824b1f32ba3b955c018626127602c365f986ccfc",
      "parents": [
        "d4782c323d10d3698b71b6a6b3c7bdad33824658"
      ],
      "author": {
        "name": "Patrick McHardy",
        "email": "kaber@trash.net",
        "time": "Sun Jan 20 17:25:14 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Jan 20 20:31:45 2008 -0800"
      },
      "message": "[NET]: rtnl_link: fix use-after-free\n\nWhen unregistering the rtnl_link_ops, all existing devices using\nthe ops are destroyed. With nested devices this may lead to a\nuse-after-free despite the use of for_each_netdev_safe() in case\nthe upper device is next in the device list and is destroyed\nby the NETDEV_UNREGISTER notifier.\n\nThe easy fix is to restart scanning the device list after removing\na device. Alternatively we could add new devices to the front of\nthe list to avoid having dependant devices follow the device they\ndepend on. A third option would be to only restart scanning if\ndev-\u003eiflink of the next device matches dev-\u003eifindex of the current\none. For now this seems like the safest solution.\n\nWith this patch, the veth rtnl_link_ops unregistration can use\nrtnl_link_unregister() directly since it now also handles destruction\nof multiple devices at once.\n\nSigned-off-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "ecef969e5b376f98b142e22deb1cec2f23e4f5d6",
      "tree": "d414bbb2f0c8937705256e09ab162e2ae6f46f8c",
      "parents": [
        "75ec533ec3335913009c32de878d5ed7cbe0d41c"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@linux-foundation.org",
        "time": "Tue Dec 25 17:23:59 2007 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Dec 26 19:36:35 2007 -0800"
      },
      "message": "[VETH]: move veth.h to include/linux\n\nMove veth.h from net/ to linux/ since it is a user api, and add it to\nuser header processing Kbuild.\n\n[ Use header-y as suggested by Sam Ravnborg.  -DaveM ]\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@linux-foundation.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9f2c0440d806e01968c3ed4def930a43be248ad",
      "tree": "b8e4668b0a4eab842fc33402e92b15f6c63cbc18",
      "parents": [
        "753f492093da7a40141bfe083073400f518f4c68"
      ],
      "author": {
        "name": "Jeff Garzik",
        "email": "jeff@garzik.org",
        "time": "Wed Oct 03 18:07:32 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:51:45 2007 -0700"
      },
      "message": "[netdrvr] Stop using legacy hooks -\u003eself_test_count, -\u003eget_stats_count\n\nThese have been superceded by the new -\u003eget_sset_count() hook.\n\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "881d966b48b035ab3f3aeaae0f3d3f9b584f45b2",
      "tree": "c579d59a4107cbbe9e2b85939bc0d496b815c887",
      "parents": [
        "b4b510290b056b86611757ce1175a230f1080f53"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Mon Sep 17 11:56:21 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:49:10 2007 -0700"
      },
      "message": "[NET]: Make the device list and device lookups per namespace.\n\nThis patch makes most of the generic device layer network\nnamespace safe.  This patch makes dev_base_head a\nnetwork namespace variable, and then it picks up\na few associated variables.  The functions:\ndev_getbyhwaddr\ndev_getfirsthwbytype\ndev_get_by_flags\ndev_get_by_name\n__dev_get_by_name\ndev_get_by_index\n__dev_get_by_index\ndev_ioctl\ndev_ethtool\ndev_load\nwireless_process_ioctl\n\nwere modified to take a network namespace argument, and\ndeal with it.\n\nvlan_ioctl_set and brioctl_set were modified so their\nhooks will receive a network namespace argument.\n\nSo basically anthing in the core of the network stack that was\naffected to by the change of dev_base was modified to handle\nmultiple network namespaces.  The rest of the network stack was\nsimply modified to explicitly use \u0026init_net the initial network\nnamespace.  This can be fixed when those components of the network\nstack are modified to handle multiple network namespaces.\n\nFor now the ifindex generator is left global.\n\nFundametally ifindex numbers are per namespace, or else\nwe will have corner case problems with migration when\nwe get that far.\n\nAt the same time there are assumptions in the network stack\nthat the ifindex of a network device won\u0027t change.  Making\nthe ifindex number global seems a good compromise until\nthe network stack can cope with ifindex changes when\nyou change namespaces, and the like.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e314dbdc1c0dc6a548ecf0afce28ecfd538ff568",
      "tree": "f774e598ebb997c108b1d757cd4b27f7bbca9a28",
      "parents": [
        "e71992889ee289a87f6641cfa40d64a5699bcb53"
      ],
      "author": {
        "name": "Pavel Emelyanov",
        "email": "xemul@openvz.org",
        "time": "Tue Sep 25 16:14:46 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:47:46 2007 -0700"
      },
      "message": "[NET]: Virtual ethernet device driver.\n\nVeth stands for Virtual ETHernet. It is a simple tunnel driver\nthat works at the link layer and looks like a pair of ethernet\ndevices interconnected with each other.\n\nMainly it allows to communicate between network namespaces but\nit can be used as is as well.\n\nThe newlink callback is organized that way to make it easy to\ncreate the peer device in the separate namespace when we have\nthem in kernel.\n\nThis implementation uses another interface - the RTM_NRELINK\nmessage introduced by Patric.\n\nBug fixes from Daniel Lezcano.\n\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nAcked-by: Patrick McHardy \u003ckaber@trash.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    }
  ]
}
