)]}'
{
  "commit": "cd55ef5a10d1a2ea09853bc5fa40aadaf9f80614",
  "tree": "f26e6f9ba06171a5c404ba5220cba60ad53e2a34",
  "parents": [
    "6e86841d05f371b5b9b86ce76c02aaee83352298"
  ],
  "author": {
    "name": "Julien Brunel",
    "email": "brunel@diku.dk",
    "time": "Thu Aug 07 14:11:56 2008 -0700"
  },
  "committer": {
    "name": "Roland Dreier",
    "email": "rolandd@cisco.com",
    "time": "Thu Aug 07 14:11:56 2008 -0700"
  },
  "message": "IB/mad: Test ib_create_send_mad() return with IS_ERR(), not \u003d\u003d NULL\n\nIn case of error, the function ib_create_send_mad() returns an ERR\npointer, but never returns a NULL pointer.  So testing the return\nvalue for error should be done with IS_ERR, not by comparing with\nNULL.\n\nA simplified version of the semantic patch that makes this change is\nas follows:\n\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@correct_null_test@\nexpression x,E;\nstatement S1, S2;\n@@\nx \u003d ib_create_send_mad(...)\n\u003c... when !\u003d x \u003d E\nif (\n(\n- x@p2 !\u003d NULL\n+ ! IS_ERR ( x )\n|\n- x@p2 \u003d\u003d NULL\n+ IS_ERR( x )\n)\n )\nS1\nelse S2\n...\u003e\n? x \u003d E;\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: Roland Dreier \u003crolandd@cisco.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d0ef7d61c03721a6fae0d59a20d80b01d29275a7",
      "old_mode": 33188,
      "old_path": "drivers/infiniband/core/mad_rmpp.c",
      "new_id": "3af2b84cd838445da6c55bddd670eb26c69e3143",
      "new_mode": 33188,
      "new_path": "drivers/infiniband/core/mad_rmpp.c"
    }
  ]
}
