)]}'
{
  "commit": "b23d00e9212d04eb894dd29422c7a53b36b8e32d",
  "tree": "99b6a6f7e57edfc1b3f3ec5c70a02ba7e3de7573",
  "parents": [
    "16dff91804777efbb0ce18b0a7e54c55e86b7beb"
  ],
  "author": {
    "name": "Julia Lawall",
    "email": "julia@diku.dk",
    "time": "Fri May 21 22:18:59 2010 +0000"
  },
  "committer": {
    "name": "David S. Miller",
    "email": "davem@davemloft.net",
    "time": "Mon May 31 00:24:12 2010 -0700"
  },
  "message": "drivers/net: Use memdup_user\n\nUse memdup_user when user data is immediately copied into the\nallocated region.\n\nThe semantic patch that makes this change is as follows:\n(http://coccinelle.lip6.fr/)\n\n// \u003csmpl\u003e\n@@\nexpression from,to,size,flag;\nposition p;\nidentifier l1,l2;\n@@\n\n-  to \u003d \\(kmalloc@p\\|kzalloc@p\\)(size,flag);\n+  to \u003d memdup_user(from,size);\n   if (\n-      to\u003d\u003dNULL\n+      IS_ERR(to)\n                 || ...) {\n   \u003c+... when !\u003d goto l1;\n-  -ENOMEM\n+  PTR_ERR(to)\n   ...+\u003e\n   }\n-  if (copy_from_user(to, from, size) !\u003d 0) {\n-    \u003c+... when !\u003d goto l2;\n-    -EFAULT\n-    ...+\u003e\n-  }\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "144375dea2deff1bc6b4393f2379cade82ae86bc",
      "old_mode": 33188,
      "old_path": "drivers/net/ppp_generic.c",
      "new_id": "0db38946bc0a93b9b13f953b17b0182a0b321ddd",
      "new_mode": 33188,
      "new_path": "drivers/net/ppp_generic.c"
    }
  ]
}
