)]}'
{
  "commit": "a70948b564e9f6cb81115c606d46f5b74a77b7c2",
  "tree": "e1a75ccf9580746d22409430b346436fd148dab7",
  "parents": [
    "746103aca2ae2b044e32a6ab06a6536652124c99"
  ],
  "author": {
    "name": "Julien Brunel",
    "email": "brunel@diku.dk",
    "time": "Fri Aug 29 11:08:32 2008 +0200"
  },
  "committer": {
    "name": "Artem Bityutskiy",
    "email": "Artem.Bityutskiy@nokia.com",
    "time": "Tue Sep 30 11:12:56 2008 +0300"
  },
  "message": "UBIFS: use an IS_ERR test rather than a NULL test\n\nIn case of error, the function kthread_create returns an ERR pointer,\nbut never returns a NULL pointer. So a NULL test that comes before an\nIS_ERR test should be deleted.\n\nThe semantic match that finds this problem is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@match_bad_null_test@\nexpression x, E;\nstatement S1,S2;\n@@\nx \u003d kthread_create(...)\n... when !\u003d x \u003d E\n* if (x \u003d\u003d NULL)\nS1 else S2\n// \u003c/smpl\u003e\n\nSigned-off-by: Julien Brunel \u003cbrunel@diku.dk\u003e\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "667c72d8a5cc28b082312e6caea93efe3100697a",
      "old_mode": 33188,
      "old_path": "fs/ubifs/super.c",
      "new_id": "d87b0cf5f661678d51509b79aeac7a3d36fc8cb3",
      "new_mode": 33188,
      "new_path": "fs/ubifs/super.c"
    }
  ]
}
