)]}'
{
  "commit": "462225ae47d7175f886281d8a91708550cd5178c",
  "tree": "46048d886502e6a177a485a965f5f3371f545d43",
  "parents": [
    "9d162cd06349dfee6b4f254b3abf1355cf0aee43"
  ],
  "author": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Mon Nov 11 09:59:34 2013 -0800"
  },
  "committer": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Thu Dec 12 12:24:23 2013 -0800"
  },
  "message": "rcu: Add an RCU_INITIALIZER for global RCU-protected pointers\n\nThere is currently no way to initialize a global RCU-protected pointer\nwithout either putting up with sparse complaints or open-coding an\nobscure cast.  This commit therefore creates RCU_INITIALIZER(), which\nis intended to be used as follows:\n\n\tstruct foo __rcu *p \u003d RCU_INITIALIZER(\u0026my_rcu_structure);\n\nThis commit also applies RCU_INITIALIZER() to eliminate repeated\nopen-coded obscure casts in __rcu_assign_pointer(), RCU_INIT_POINTER(),\nand RCU_POINTER_INITIALIZER().  This commit also inlines\n__rcu_assign_pointer() into its only caller, rcu_assign_pointer().\n\nSuggested-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nReviewed-by: Josh Triplett \u003cjosh@joshtriplett.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "97853cd2d7b44e14a731fdc57e6cea9cc3c993cb",
      "old_mode": 33188,
      "old_path": "include/linux/rcupdate.h",
      "new_id": "ea3816cf1a13f26b22f9c5561f03de39983c9075",
      "new_mode": 33188,
      "new_path": "include/linux/rcupdate.h"
    }
  ]
}
