)]}'
{
  "log": [
    {
      "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"
    },
    {
      "commit": "78be959e38567f0e020848179a5d64d2b064391a",
      "tree": "2b6b42edb8ba4f717db5d7a140c77d4993934f0d",
      "parents": [
        "01eda2e0c0cf035308308a19581e4979285b51ec"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Thu Apr 14 15:22:02 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Apr 14 16:06:55 2011 -0700"
      },
      "message": "kstrtox: simpler code in _kstrtoull()\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"
    },
    {
      "commit": "33ee3b2e2eb9b4b6c64dcf9ed66e2ac3124e748c",
      "tree": "25d70c021189efa0bcbdf4e84b3ca97a6c147246",
      "parents": [
        "8a5700cd6754a3c88d2ea2f1d7a56f671987fc25"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Tue Mar 22 16:34:40 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Mar 22 17:44:14 2011 -0700"
      },
      "message": "kstrto*: converting strings to integers done (hopefully) right\n\n1. simple_strto*() do not contain overflow checks and crufty,\n   libc way to indicate failure.\n2. strict_strto*() also do not have overflow checks but the name and\n   comments pretend they do.\n3. Both families have only \"long long\" and \"long\" variants,\n   but users want strtou8()\n4. Both \"simple\" and \"strict\" prefixes are wrong:\n   Simple doesn\u0027t exactly say what\u0027s so simple, strict should not exist\n   because conversion should be strict by default.\n\nThe solution is to use \"k\" prefix and add convertors for more types.\nEnter\n\tkstrtoull()\n\tkstrtoll()\n\tkstrtoul()\n\tkstrtol()\n\tkstrtouint()\n\tkstrtoint()\n\n\tkstrtou64()\n\tkstrtos64()\n\tkstrtou32()\n\tkstrtos32()\n\tkstrtou16()\n\tkstrtos16()\n\tkstrtou8()\n\tkstrtos8()\n\nInclude runtime testsuite (somewhat incomplete) as well.\n\nstrict_strto*() become deprecated, stubbed to kstrto*() and\neventually will be removed altogether.\n\nUse kstrto*() in code today!\n\nNote: on some archs _kstrtoul() and _kstrtol() are left in tree, even if\n      they\u0027ll be unused at runtime. This is temporarily solution,\n      because I don\u0027t want to hardcode list of archs where these\n      functions aren\u0027t needed. Current solution with sizeof() and\n      __alignof__ at least always works.\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"
    }
  ]
}
