)]}'
{
  "commit": "b45db71b525d75e520d7ef46c796f49c5d26c07c",
  "tree": "e19c1c7f6bc27d63e28a1315b7b19ce1d099e02d",
  "parents": [
    "7d24dcdb3f3132e0ec36f19c49bd004bc874b8aa"
  ],
  "author": {
    "name": "Jon Paul Maloy",
    "email": "jon.maloy@ericsson.com",
    "time": "Tue Feb 03 08:59:19 2015 -0500"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Wed Feb 04 16:09:31 2015 -0800"
  },
  "message": "tipc: eliminate race during node creation\n\nInstances of struct node are created in the function tipc_disc_rcv()\nunder the assumption that there is no race between received discovery\nmessages arriving from the same node. This assumption is wrong.\nWhen we use more than one bearer, it is possible that discovery\nmessages from the same node arrive at the same moment, resulting in\ncreation of two instances of struct tipc_node. This may later cause\nconfusion during link establishment, and may result in one of the links\nnever becoming activated.\n\nWe fix this by making lookup and potential creation of nodes atomic.\nInstead of first looking up the node, and in case of failure, create it,\nwe now start with looking up the node inside node_link_create(), and\nreturn a reference to that one if found. Otherwise, we go ahead and\ncreate the node as we did before.\n\nReviewed-by: Erik Hugne \u003cerik.hugne@ericsson.com\u003e\nReviewed-by: Ying Xue \u003cying.xue@windriver.com\u003e\nSigned-off-by: Jon Maloy \u003cjon.maloy@ericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "5b40cb89ff0aaa5492ba5c51b38df6bdc3bc85a8",
      "old_mode": 33188,
      "old_path": "net/tipc/discover.c",
      "new_id": "a580a40d0208a7c9a46dd1246440209e52434d83",
      "new_mode": 33188,
      "new_path": "net/tipc/discover.c"
    },
    {
      "type": "modify",
      "old_id": "d4cb8c127063d73a963e62fe1cd230a1ef3f348a",
      "old_mode": 33188,
      "old_path": "net/tipc/node.c",
      "new_id": "842bd7ad4b171bbe9d7ee6592ad16ea39f9bf28f",
      "new_mode": 33188,
      "new_path": "net/tipc/node.c"
    }
  ]
}
