)]}'
{
  "commit": "6846c0c54074d47927c90eab4a805115e1ae3292",
  "tree": "8f074445ca802a48d976b9a9c8595ac7fe603f22",
  "parents": [
    "d322f45ceed525daa9401154590bbae3222cfefb"
  ],
  "author": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Sun Jul 31 22:33:02 2011 -0700"
  },
  "committer": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Wed Sep 28 21:38:34 2011 -0700"
  },
  "message": "rcu: Improve rcu_assign_pointer() and RCU_INIT_POINTER() documentation\n\nThe differences between rcu_assign_pointer() and RCU_INIT_POINTER() are\nsubtle, and it is easy to use the the cheaper RCU_INIT_POINTER() when\nthe more-expensive rcu_assign_pointer() should have been used instead.\nThe consequences of this mistake are quite severe.\n\nThis commit therefore carefully lays out the situations in which it it\npermissible to use RCU_INIT_POINTER().\n\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d7accc5f889274f691f1453b7434532c739b8c86",
      "old_mode": 33188,
      "old_path": "include/linux/rcupdate.h",
      "new_id": "af186e260c431ddccc85cd755b27817047bec64c",
      "new_mode": 33188,
      "new_path": "include/linux/rcupdate.h"
    }
  ]
}
