)]}'
{
  "commit": "c0d6d01bffdce19fa19baad6cb8cc3eed7bfd6f5",
  "tree": "ea4c20ddc87b94d7bef2402fe6dbe3186be263c2",
  "parents": [
    "24cd7fd0eaa0d9f5e197ff77a83b006a86696068"
  ],
  "author": {
    "name": "Paul E. McKenney",
    "email": "paul.mckenney@linaro.org",
    "time": "Mon Jan 23 12:41:26 2012 -0800"
  },
  "committer": {
    "name": "Paul E. McKenney",
    "email": "paulmck@linux.vnet.ibm.com",
    "time": "Tue Feb 21 09:06:03 2012 -0800"
  },
  "message": "rcu: Check for illegal use of RCU from offlined CPUs\n\nAlthough it is legal to use RCU during early boot, it is anything\nbut legal to use RCU at runtime from an offlined CPU.  After all, RCU\nexplicitly ignores offlined CPUs.  This commit therefore adds checks\nfor runtime use of RCU from offlined CPUs.\n\nThese checks are not perfect, in particular, they can be subverted\nthrough use of things like rcu_dereference_raw().  Note that it is not\npossible to put checks in rcu_read_lock() and friends due to the fact\nthat these primitives are used in code that might be used under either\nRCU or lock-based protection, which means that checking rcu_read_lock()\ngets you fat piles of false positives.\n\nSigned-off-by: Paul E. McKenney \u003cpaul.mckenney@linaro.org\u003e\nSigned-off-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f409529ff35aea6fa5ade00bf604fa63929a7a79",
      "old_mode": 33188,
      "old_path": "include/linux/rcupdate.h",
      "new_id": "146d37d31778c30051d203a35625dfc1bdaf9c67",
      "new_mode": 33188,
      "new_path": "include/linux/rcupdate.h"
    },
    {
      "type": "modify",
      "old_id": "e1b005918bbb3141b7e95e90cefda533ad95a0d6",
      "old_mode": 33188,
      "old_path": "include/linux/srcu.h",
      "new_id": "9a323728e60c086a94680305f84d861b0aff9ea3",
      "new_mode": 33188,
      "new_path": "include/linux/srcu.h"
    },
    {
      "type": "modify",
      "old_id": "2bc4e135ff23d6a9799e5c7292f0767ef840d3b4",
      "old_mode": 33188,
      "old_path": "kernel/rcupdate.c",
      "new_id": "a86f1741cc27fd465a24df4d81811c1e2d68c556",
      "new_mode": 33188,
      "new_path": "kernel/rcupdate.c"
    },
    {
      "type": "modify",
      "old_id": "dccd2f78db4e107fb5f22be624c1cb38ba3d0ffb",
      "old_mode": 33188,
      "old_path": "kernel/rcutree.c",
      "new_id": "bcf7db2f2fd2673a0379e1a2801f7622f403e79d",
      "new_mode": 33188,
      "new_path": "kernel/rcutree.c"
    },
    {
      "type": "modify",
      "old_id": "aa93b074bb2ffec39600e12cddfc5eb9c7426d97",
      "old_mode": 33188,
      "old_path": "kernel/rcutree_plugin.h",
      "new_id": "cecea84f4f3fe2cc34605411c15b6681bfcc8aba",
      "new_mode": 33188,
      "new_path": "kernel/rcutree_plugin.h"
    }
  ]
}
