)]}'
{
  "log": [
    {
      "commit": "4c925d6031f719fad6ea8b1c94a636f4c0fea39b",
      "tree": "a27265311ff47951ab00d4df3b49350c1ae898ba",
      "parents": [
        "543f56c19c3e926d33b50a6bcbc37c408631601e"
      ],
      "author": {
        "name": "Eldad Zack",
        "email": "eldad@fogrefinery.com",
        "time": "Mon Dec 17 16:03:04 2012 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Dec 17 17:15:22 2012 -0800"
      },
      "message": "kstrto*: add documentation\n\nAs Bruce Fields pointed out, kstrto* is currently lacking kerneldoc\ncomments.  This patch adds kerneldoc comments to common variants of\nkstrto*: kstrto(u)l, kstrto(u)ll and kstrto(u)int.\n\nSigned-off-by: Eldad Zack \u003celdad@fogrefinery.com\u003e\nCc: J. Bruce Fields \u003cbfields@fieldses.org\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Randy Dunlap \u003crdunlap@xenotime.net\u003e\nCc: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nCc: Rob Landley \u003crob@landley.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8bc3bcc93a2b4e47d5d410146f6546bca6171663",
      "tree": "101f55a96f751749041c90c32ef1ba89f94dc4d1",
      "parents": [
        "630d9c47274aa89bfa77fe6556d7818bdcb12992"
      ],
      "author": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Nov 16 21:29:17 2011 -0500"
      },
      "committer": {
        "name": "Paul Gortmaker",
        "email": "paul.gortmaker@windriver.com",
        "time": "Wed Mar 07 15:04:04 2012 -0500"
      },
      "message": "lib: reduce the use of module.h wherever possible\n\nFor files only using THIS_MODULE and/or EXPORT_SYMBOL, map\nthem onto including export.h -- or if the file isn\u0027t even\nusing those, then just delete the include.  Fix up any implicit\ninclude dependencies that were being masked by module.h along\nthe way.\n\nSigned-off-by: Paul Gortmaker \u003cpaul.gortmaker@windriver.com\u003e\n"
    },
    {
      "commit": "690d137f448d4c4da9001871e6569d5636f116c7",
      "tree": "a6ccb2a00ce2e1fd2f3d8facabd0242e61431704",
      "parents": [
        "d65b4e98d7ea3038b767b70fe8be959b2913f16d"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Feb 09 15:48:20 2012 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Feb 09 10:09:30 2012 -0800"
      },
      "message": "Reduce the number of expensive division instructions done by _parse_integer()\n\n_parse_integer() does one or two division instructions (which are slow)\nper digit parsed to perform the overflow check.\n\nFurthermore, these are particularly expensive examples of division\ninstruction as the number of clock cycles required to complete them may\ngo up with the position of the most significant set bit in the dividend:\n\n\tif (*res \u003e div_u64(ULLONG_MAX - val, base))\n\nwhich is as maximal as possible.\n\nWorse, on 32-bit arches, more than one of these division instructions\nmay be required per digit.\n\nSo, assuming we don\u0027t support a base of more than 16, skip the check if the\ntop nibble of the result is not set at this point.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n[ Changed it to not dereference the pointer all the time - even if the\n  compiler can and does optimize it away, the code just looks cleaner.\n  And edited the top nybble test slightly to make the code generated on\n  x86-64 better in the loop - test against a hoisted constant instead of\n  shifting and testing the result ]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1dff46d6987484eaa31f2fb1425216ba06418be3",
      "tree": "421e53d64a066b1f756156bb1d37154c0a5eab6a",
      "parents": [
        "b3c49c05b737887443c894c66635ae68dcdf0027"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon Oct 31 17:12:28 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 31 17:30:56 2011 -0700"
      },
      "message": "lib/kstrtox: common code between kstrto*() and simple_strto*() functions\n\nCurrently termination logic (\\0 or \\n\\0) is hardcoded in _kstrtoull(),\navoid that for code reuse between kstrto*() and simple_strtoull().\nEssentially, make them different only in termination logic.\n\nsimple_strtoull() (and scanf(), BTW) ignores integer overflow, that\u0027s a\nbug we currently don\u0027t have guts to fix, making KSTRTOX_OVERFLOW hack\nnecessary.\n\nAlmost forgot: patch shrinks code size by about ~80 bytes on x86_64.\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": "75fb8f269305fc066c4c6ec6e7232df0c92f434d",
      "tree": "be2f806f817368cb52270baee3f1d77005e3ca8a",
      "parents": [
        "72d39508e43689b9346dfc956fad5e94a8911886"
      ],
      "author": {
        "name": "Andy Shevchenko",
        "email": "andriy.shevchenko@linux.intel.com",
        "time": "Mon Jul 25 17:13:20 2011 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 25 20:57:16 2011 -0700"
      },
      "message": "lib: make _tolower() public\n\nThis function is required by *printf and kstrto* functions that are\nlocated in the different modules.  This patch makes _tolower() public.\nHowever, it\u0027s good idea to not use the helper outside of mentioned\nfunctions.\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: Andy Shevchenko \u003candriy.shevchenko@linux.intel.com\u003e\nAcked-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": "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"
    }
  ]
}
