)]}'
{
  "commit": "c196e32a111b0ee356d67acceb938ae0b5e63ef0",
  "tree": "8759b68d81eb693e391dee8f85a8d418ea5656a6",
  "parents": [
    "a08aa355af18c53f17f499c1cc6e2af66a77ba9b"
  ],
  "author": {
    "name": "Alexey Dobriyan",
    "email": "adobriyan@gmail.com",
    "time": "Tue May 24 17:13:31 2011 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Wed May 25 08:39:52 2011 -0700"
  },
  "message": "lib: add kstrto*_from_user()\n\nThere is quite a lot of code which does copy_from_user() + strict_strto*()\nor simple_strto*() combo in slightly different ways.\n\nBefore doing conversions all over tree, let\u0027s get final API correct.\n\nEnter kstrtoull_from_user() and friends.\n\nTypical code which uses them looks very simple:\n\n\tTYPE val;\n\tint rv;\n\n\trv \u003d kstrtoTYPE_from_user(buf, count, 0, \u0026val);\n\tif (rv \u003c 0)\n\t\treturn rv;\n\t[use val]\n\treturn count;\n\nThere is a tiny semantic difference from the plain kstrto*() API -- the\nlatter allows any amount of leading zeroes, while the former copies data\ninto buffer on stack and thus allows leading zeroes as long as it fits\ninto buffer.\n\nThis shouldn\u0027t be a problem for typical usecase \"echo 42 \u003e /proc/x\".\n\nThe point is to make reading one integer from userspace _very_ simple and\nvery bug free.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "22295244de18d55335326628596b34c8ebbf7019",
      "old_mode": 33188,
      "old_path": "include/linux/kernel.h",
      "new_id": "fb0e7329fee1a5ad370b2e5284ceb681670c7395",
      "new_mode": 33188,
      "new_path": "include/linux/kernel.h"
    },
    {
      "type": "modify",
      "old_id": "a235f3cc471c6d427fd4c2e713a701fa0b1e7e1b",
      "old_mode": 33188,
      "old_path": "lib/kstrtox.c",
      "new_id": "2dbae88090ac3232f591f98289521fa3c9f3b3dd",
      "new_mode": 33188,
      "new_path": "lib/kstrtox.c"
    }
  ]
}
