)]}'
{
  "commit": "dd36929720f40f17685e841ae0d4c581c165ea60",
  "tree": "62743edeac21a222371f9032fa1f0e59531c38ce",
  "parents": [
    "4fbd0a81a0059f22d06780de96e73f9ddbccd8a4"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Fri Feb 20 15:46:31 2015 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Sat Feb 21 10:27:33 2015 -0800"
  },
  "message": "kernel: make READ_ONCE() valid on const arguments\n\nThe use of READ_ONCE() causes lots of warnings witht he pending paravirt\nspinlock fixes, because those ends up having passing a member to a\n\u0027const\u0027 structure to READ_ONCE().\n\nThere should certainly be nothing wrong with using READ_ONCE() with a\nconst source, but the helper function __read_once_size() would cause\nwarnings because it would drop the \u0027const\u0027 qualifier, but also because\nthe destination would be marked \u0027const\u0027 too due to the use of \u0027typeof\u0027.\n\nUse a union of types in READ_ONCE() to avoid this issue.\n\nAlso make sure to use parenthesis around the macro arguments to avoid\npossible operator precedence issues.\n\nTested-by: Ingo Molnar \u003cmingo@kernel.org\u003e\nCc: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d1ec10a940ffffb01a94bcedf9d113e1940619c7",
      "old_mode": 33188,
      "old_path": "include/linux/compiler.h",
      "new_id": "1b45e4a0519b2c34033db91e37fd1f1f0b367f8c",
      "new_mode": 33188,
      "new_path": "include/linux/compiler.h"
    }
  ]
}
