)]}'
{
  "commit": "068c6e98bc7ec4419299b38cd40be26ebf4bdeda",
  "tree": "4312d3449036c35d5fc8fd4f60f447200928e817",
  "parents": [
    "8834807b43200b1658b49d3b779e74a4f77e4ffb"
  ],
  "author": {
    "name": "Neil Horman",
    "email": "nhorman@tuxdriver.com",
    "time": "Mon Jun 26 00:04:27 2006 -0700"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon Jun 26 00:04:27 2006 -0700"
  },
  "message": "[NET] netpoll: break recursive loop in netpoll rx path\n\nThe netpoll system currently has a rx to tx path via:\n\nnetpoll_rx\n __netpoll_rx\n  arp_reply\n   netpoll_send_skb\n    dev-\u003ehard_start_tx\n\nThis rx-\u003etx loop places network drivers at risk of inadvertently causing a\ndeadlock or BUG halt by recursively trying to acquire a spinlock that is\nused in both their rx and tx paths (this problem was origionally reported\nto me in the 3c59x driver, which shares a spinlock between the\nboomerang_interrupt and boomerang_start_xmit routines).\n\nThis patch breaks this loop, by queueing arp frames, so that they can be\nresponded to after all receive operations have been completed.  Tested by\nmyself and the reported with successful results.\n\nSpecifically it was tested with netdump.  Heres the BZ with details:\nhttps://bugzilla.redhat.com/bugzilla/show_bug.cgi?id\u003d194055\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nAcked-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ca5a8733000fa08b65c21b3456b052b9f48dde21",
      "old_mode": 33188,
      "old_path": "include/linux/netpoll.h",
      "new_id": "1efe60c5c00c3dd5c57924707206afcf49ef2dc5",
      "new_mode": 33188,
      "new_path": "include/linux/netpoll.h"
    },
    {
      "type": "modify",
      "old_id": "377d1e7257b5f5be0c8b0d5727098856027bbe03",
      "old_mode": 33188,
      "old_path": "net/core/netpoll.c",
      "new_id": "471da451cd4879dce17a7fe5a4bc20ef0f5e8d38",
      "new_mode": 33188,
      "new_path": "net/core/netpoll.c"
    }
  ]
}
