)]}'
{
  "commit": "08613e4626c06ca408fc55071f6aedee36986a87",
  "tree": "4251c4fa37ed1571a61505a70fed4dffdaaece82",
  "parents": [
    "59fdaca9a4497ada47328d7b4b406b98a6f1c1a6"
  ],
  "author": {
    "name": "David Woodhouse",
    "email": "dwmw2@infradead.org",
    "time": "Mon Oct 24 21:25:21 2011 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Tue Oct 25 19:22:23 2011 -0400"
  },
  "message": "caif: Fix BUG() with network namespaces\n\nThe caif code will register its own pernet_operations, and then register\na netdevice_notifier. Each time the netdevice_notifier is triggered,\nit\u0027ll do some stuff... including a lookup of its own pernet stuff with\nnet_generic().\n\nIf the net_generic() call ever returns NULL, the caif code will BUG().\nThat doesn\u0027t seem *so* unreasonable, I suppose — it does seem like it\nshould never happen.\n\nHowever, it *does* happen. When we clone a network namespace,\nsetup_net() runs through all the pernet_operations one at a time. It\ngets to loopback before it gets to caif. And loopback_net_init()\nregisters a netdevice... while caif hasn\u0027t been initialised. So the caif\nnetdevice notifier triggers, and immediately goes BUG().\n\nWe could imagine a complex and overengineered solution to this generic\nclass of problems, but this patch takes the simple approach. It just\nmakes caif_device_notify() *not* go looking for its pernet data\nstructures if the device it\u0027s being notified about isn\u0027t a caif device\nin the first place.\n\nCc: stable@kernel.org\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nAcked-by: Sjur Brændeland \u003csjur.brandeland@stericsson.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7f9ac0742d19cc71fa367ea83bd8a9a117adbd1d",
      "old_mode": 33188,
      "old_path": "net/caif/caif_dev.c",
      "new_id": "47fc8f3a47cf237af78fbe4483fac7da0f2108ad",
      "new_mode": 33188,
      "new_path": "net/caif/caif_dev.c"
    }
  ]
}
