)]}'
{
  "commit": "dc5a144991ba803bc8afded105c9db1dea0e57ab",
  "tree": "81366a449cc3236446f7d84523e35eb260cfb524",
  "parents": [
    "1764f15016fea54db723a96234a82646dac9a036"
  ],
  "author": {
    "name": "Neil Horman",
    "email": "nhorman@tuxdriver.com",
    "time": "Thu Apr 26 13:47:36 2007 -0400"
  },
  "committer": {
    "name": "Jeff Garzik",
    "email": "jeff@garzik.org",
    "time": "Fri Apr 27 20:16:41 2007 -0400"
  },
  "message": "sis900: Allocate rx replacement buffer before rx operation\n\nJust found a hole in my last patch.  It was reported to me that shortly after we\nintegrated this patch.  The report was of an oops that took place inside of\nnetif_rx when using the sis900 driver.  Looking at my origional patch I noted\nthat there was a spot between the new skb_alloc and the refill_rx_ring label\nwhere skb got reassigned to the pointer currently held in the rx_ring for the\npurposes of receiveing the frame.  The result of this is however that the buffer\nthat gets passed to netif_rx (if it is called), then gets placed right back into\nthe rx_ring.  So if you receive frames fast enough the skb being processed by\nthe network stack can get corrupted.  The reporter is testing out the fix I\u0027ve\nwritten for this below (I\u0027m not near my hardware at the moment to test myself),\nbut I wanted to post it for review ASAP.  I\u0027ll post test results when I hear\nthem, but I think this is a pretty straightforward fix.  It just uses a separate\npointer to do the rx operation, so that we don\u0027t improperly reassign the pointer\nthat we use to refill the rx ring.\n\nSigned-off-by: Neil Horman \u003cnhorman@tuxdriver.com\u003e\nSigned-off-by: Jeff Garzik \u003cjeff@garzik.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "dea0126723daa562451663854424d19ac02dade3",
      "old_mode": 33188,
      "old_path": "drivers/net/sis900.c",
      "new_id": "2cb2e156c7587cbd1878ab743b3fda3f754ac41f",
      "new_mode": 33188,
      "new_path": "drivers/net/sis900.c"
    }
  ]
}
