)]}'
{
  "log": [
    {
      "commit": "cf3b429b03e827c718030f42e7e3ceaca980475e",
      "tree": "d4d68bdb766f3bd3882dc8f38b2447cfd1dc7419",
      "parents": [
        "59592d0ccc0000d74ea5fc2a59e3ec0c9ef1fb13"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon May 24 14:33:16 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:04 2010 -0700"
      },
      "message": "vsprintf.c: use noinline_for_stack\n\nMark static functions with noinline_for_stack\n\nBefore:\n\n  akpm:/usr/src/25\u003e objdump -d lib/vsprintf.o | perl scripts/checkstack.pl\n  0x00000e82 pointer [vsprintf.o]:                        344\n  0x0000198c pointer [vsprintf.o]:                        344\n  0x000025d6 scnprintf [vsprintf.o]:                      216\n  0x00002648 scnprintf [vsprintf.o]:                      216\n  0x00002565 snprintf [vsprintf.o]:                       208\n  0x0000267c sprintf [vsprintf.o]:                        208\n  0x000030a3 bprintf [vsprintf.o]:                        208\n  0x00003b1e sscanf [vsprintf.o]:                         208\n  0x00000608 number [vsprintf.o]:                         136\n  0x00000937 number [vsprintf.o]:                         136\n\nAfter:\n\n  akpm:/usr/src/25\u003e objdump -d lib/vsprintf.o | perl scripts/checkstack.pl\n  0x00000a7c symbol_string [vsprintf.o]:                  248\n  0x00000ae8 symbol_string [vsprintf.o]:                  248\n  0x00002310 scnprintf [vsprintf.o]:                      216\n  0x00002382 scnprintf [vsprintf.o]:                      216\n  0x0000229f snprintf [vsprintf.o]:                       208\n  0x000023b6 sprintf [vsprintf.o]:                        208\n  0x00002ddd bprintf [vsprintf.o]:                        208\n  0x00003858 sscanf [vsprintf.o]:                         208\n  0x00000625 number [vsprintf.o]:                         136\n  0x00000954 number [vsprintf.o]:                         136\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4be929be34f9bdeffa40d815d32d7d60d2c7f03b",
      "tree": "4d2c6e2b8ef766e565e2e050ee151de2e02081d3",
      "parents": [
        "940370fc86b920b51a34217a1facc3e9e97c2456"
      ],
      "author": {
        "name": "Alexey Dobriyan",
        "email": "adobriyan@gmail.com",
        "time": "Mon May 24 14:33:03 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue May 25 08:07:02 2010 -0700"
      },
      "message": "kernel-wide: replace USHORT_MAX, SHORT_MAX and SHORT_MIN with USHRT_MAX, SHRT_MAX and SHRT_MIN\n\n- C99 knows about USHRT_MAX/SHRT_MAX/SHRT_MIN, not\n  USHORT_MAX/SHORT_MAX/SHORT_MIN.\n\n- Make SHRT_MIN of type s16, not int, for consistency.\n\n[akpm@linux-foundation.org: fix drivers/dma/timb_dma.c]\n[akpm@linux-foundation.org: fix security/keys/keyring.c]\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@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": "98d5ce0d0044666fc85a01915a1d22407eb546fd",
      "tree": "022ed8e5c78b043fe08d76a8d4a29a42ed95b60e",
      "parents": [
        "81fa08f25bd24fc51557a2d2364fa1ab5e7407b4"
      ],
      "author": {
        "name": "Hans Verkuil",
        "email": "hverkuil@xs4all.nl",
        "time": "Fri Apr 23 13:18:04 2010 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Apr 24 11:31:26 2010 -0700"
      },
      "message": "lib/vsprintf.c: add missing EXPORT_SYMBOL(simple_strtoll)\n\nAdd a missing EXPORT_SYMBOL.\n\nI must be the first person that wants to use this function :-)\n\nSigned-off-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e310fda91cb095915395f811d10b2c900c9589e",
      "tree": "5e4d6b2bd76abe6f2bb0db12d6d82f697007d1e5",
      "parents": [
        "2ba3abd8186f24c7fb418927025b4e2120e3a362"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Apr 14 09:27:40 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Apr 14 10:32:35 2010 -0700"
      },
      "message": "vsprintf: Change struct printf_spec.precision from s8 to s16\n\nCommit ef0658f3de484bf9b173639cd47544584e01efa5 changed precision\nfrom int to s8.\n\nThere is existing kernel code that uses a larger precision.\n\nAn example from the audit code:\n\tvsnprintf(...,..., \" msg\u003d\u0027%.1024s\u0027\", (char *)data);\nwhich overflows precision and truncates to nothing.\n\nExtending precision size fixes the audit system issue.\n\nOther changes:\n\nChange the size of the struct printf_spec.type from u16 to u8 so\nsizeof(struct printf_spec) stays as small as possible.\nReorder the struct members so sizeof(struct printf_spec) remains 64 bits\nwithout alignment holes.\nDocument the struct members a bit more.\n\nOriginal-patch-by: Eric Paris \u003ceparis@redhat.com\u003e\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nTested-by: Justin P. Mattock \u003cjustinmattock@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d7cca04211d4eb104eaaa424b98f650bc29c730",
      "tree": "133c5a2251296aa7461c16b5d7dfd4609502e0bd",
      "parents": [
        "0f4050c7d3ba0275e5f39513c0670a717d43048c"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Fri Mar 05 10:47:47 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 20:08:36 2010 -0400"
      },
      "message": "resource: add window support\n\nAdd support for resource windows.  This is for bridge resources, i.e.,\nregions where a bridge forwards transactions from the primary to the\nsecondary side.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "0f4050c7d3ba0275e5f39513c0670a717d43048c",
      "tree": "a3e01440a7b5e62d8ca1e6cd8ee80e2eb0b0cfbf",
      "parents": [
        "cd7e9fcd1f7c9c397f747cf506c66f7dca11d1c6"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Fri Mar 05 10:47:42 2010 -0700"
      },
      "committer": {
        "name": "Len Brown",
        "email": "len.brown@intel.com",
        "time": "Sun Mar 14 20:08:35 2010 -0400"
      },
      "message": "resource: add bus number support\n\nAdd support for bus number resources.  This is for bridges with a range of\nbus numbers behind them.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Len Brown \u003clen.brown@intel.com\u003e\n"
    },
    {
      "commit": "4da0b66c6e9ea7ba78a19f9f186779826d89f8b0",
      "tree": "467fe1886f35dd199a7ba8b95ed5a06e2bfe83f3",
      "parents": [
        "b89dc5d6b0981c1096ccffbf8f4413c7bb1bcc0a"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Fri Mar 05 10:47:37 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 17:53:07 2010 -0800"
      },
      "message": "vsprintf: move %pR resource printf_specs off the stack\n\nThis adds separate I/O and memory specs, so we don\u0027t have to change the\nfield width in a shared spec, which then lets us make all the specs const\nand static, since they never change.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b89dc5d6b0981c1096ccffbf8f4413c7bb1bcc0a",
      "tree": "e6b760aa88d858d324423ac35910439b5718f0a6",
      "parents": [
        "ef0658f3de484bf9b173639cd47544584e01efa5"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Fri Mar 05 10:47:31 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 17:53:07 2010 -0800"
      },
      "message": "vsprintf: clarify comments for printf_spec flags\n\nAdd clues about what the SMALL and SPECIAL flags do.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef0658f3de484bf9b173639cd47544584e01efa5",
      "tree": "d9d6c569b2c79fb9cf240783a409722cc9264886",
      "parents": [
        "7bc80cd935a4d5fd8574f6994bd95d0aad273d56"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Sat Mar 06 17:10:14 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 06 17:47:45 2010 -0800"
      },
      "message": "vsprintf.c: Reduce sizeof struct printf_spec from 24 to 8 bytes\n\nReducing the size of struct printf_spec is a good thing because multiple\ninstances are commonly passed on stack.\n\nIt\u0027s possible for type to be u8 and field_width to be s8, but this is\nlikely small enough for now.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "51c24aaacaea90c8e87f1dec75a2ac7622b593f8",
      "tree": "9f54936c87764bef75e97395cb56b7d1e0df24c6",
      "parents": [
        "4276e47e2d1c85a2477caf0d22b91c4f2377fba8",
        "6be325719b3e54624397e413efd4b33a997e55a3"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Jan 23 00:31:06 2010 -0800"
      },
      "message": "Merge branch \u0027master\u0027 of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6\n"
    },
    {
      "commit": "0159f24ee764927bf44c1a25473bd4517febd21c",
      "tree": "752c52fb40f1bd77783812d14a84638cad0df594",
      "parents": [
        "3ccd4c6167d3b39d52631767ebbf8b5677c5855d"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Wed Jan 13 20:23:30 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Jan 13 20:23:30 2010 -0800"
      },
      "message": "lib/vsprintf.c: Add IPV4 options %pI4[hnbl] for host, network, big and little endian\n\nThis should allow the removal of the #defines and uses\nof NIPQUAD and NIPQUAD_FMT\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "3f4724027bfe38644146252f7aa979dea7f80720",
      "tree": "98aa406c3936b03573777b0305fbf0f937329013",
      "parents": [
        "11723ab15d28e71dd118a8a92f98493f5a5907da"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Fri Jan 08 14:43:02 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 11 09:34:06 2010 -0800"
      },
      "message": "vsnprintf: fix reference for compressed ipv6 addresses\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nReported-by: Josip Rodin \u003cjoy@entuzijast.net\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c8e000604bce02a87742240a9b716a0f1b680c0b",
      "tree": "8650e2d3ed439349e75272969989a897121e48ba",
      "parents": [
        "d4a66e752d0b19934dd208884f8605fe385aaaa9"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Jan 11 00:44:14 2010 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Jan 11 00:44:14 2010 -0800"
      },
      "message": "lib: Kill bit-reversed FDDI MAC output case, it\u0027s bogus.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "bc7259a2ce764ea16200eb9e53f6e136e918d065",
      "tree": "fd8dede3d068f151051b49ee5efd6d147c518dca",
      "parents": [
        "cf30273bea4a9d368a31869ccc6ad618e4413b66"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Thu Jan 07 11:43:50 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Jan 07 16:58:08 2010 -0800"
      },
      "message": "lib/vsprintf.c: Add %pMF to format FDDI bit reversed MAC addresses\n\nOn Mon, 2010-01-04 at 23:43 +0000, Maciej W. Rozycki wrote:\n\u003e The example below shows an address, and the sequence of bits or symbols\n\u003e that would be transmitted when the address is used in the Source Address\n\u003e or Destination Address fields on the MAC header.  The transmission line\n\u003e shows the address bits in the order transmitted, from left to right.  For\n\u003e IEEE 802 LANs these correspond to actual bits on the medium.  The FDDI\n\u003e symbols line shows how the FDDI PHY sends the address bits as encoded\n\u003e symbols.\n\u003e\n\u003e         MSB:            35:7B:12:00:00:01\n\u003e         Canonical:      AC-DE-48-00-00-80\n\u003e         Transmission:   00110101 01111011 00010010 00000000 00000000 00000001\n\u003e         FDDI Symbols:   35 7B 12 00 00 01\"\n\u003e\n\u003e Please note that this address has its group bit clear.\n\u003e\n\u003e  This notation is also defined in the \"FDDI MEDIA ACCESS CONTROL-2\n\u003e (MAC-2)\" (X3T9/92-120) document although that book does not have a need\n\u003e to use the MSB form and it\u0027s skipped.\n\nAdds 6 bytes to object size for x86\n\nNew:\n$ size lib/vsprintf.o\n   text\t   data\t    bss\t    dec\t    hex\tfilename\n   8664\t      0\t      2\t   8666\t   21da\tlib/vsprintf.o\n$ size lib/vsprintf.o\n   text    data     bss     dec     hex filename\n   8658       0       2    8660    21d4 lib/vsprintf.o\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "8a79503aa83d0f889abc64a2fc0a020411837222",
      "tree": "3c3f182ad290474571ae983c03d5f243e8c9c1cb",
      "parents": [
        "5d0bb2c4238e333ae18c5cd23f75e02a3dac3519"
      ],
      "author": {
        "name": "Uwe Kleine-König",
        "email": "u.kleine-koenig@pengutronix.de",
        "time": "Thu Dec 17 15:27:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Dec 17 15:45:31 2009 -0800"
      },
      "message": "lib/vsprintf.c: document more vsnprintf extensions\n\nThese were added in\n\n9ac6e44 (lib/vsprintf.c: add %pU to print UUID/GUIDs)\nc7dabef (vsprintf: use %pR, %pr instead of %pRt, %pRf)\n8a27f7c (lib/vsprintf.c: Add \"%pI6c\" - print pointer as compressed ipv6 address)\n4aa9960 (printk: add %I4, %I6, %i4, %i6 format specifiers)\ndd45c9c (printk: add %pM format specifier for MAC addresses)\n\nbut only added comments to pointer() not vsnprintf() that is refered to by\nprintk\u0027s comments.\n\nSigned-off-by: Uwe Kleine-König \u003cu.kleine-koenig@pengutronix.de\u003e\nCc: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jens Rosenboom \u003cjens@mcbone.net\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nCc: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9ac6e44ee5caa5f0babfc87f2613e1296d2c2d11",
      "tree": "2309170eef8e4fc5c78e00c297cd0e2344d559b0",
      "parents": [
        "b5f54b07c06f6e438a4fee92c27423e880d8816b"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Dec 14 18:01:09 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:33 2009 -0800"
      },
      "message": "lib/vsprintf.c: add %pU to print UUID/GUIDs\n\nUUID/GUIDs are somewhat common in kernel source.\n\nStandardize the printed style of UUID/GUIDs by using\nanother extension to %p.\n\n%pUb:   01020304-0506-0708-090a-0b0c0d0e0f10\n%pUB:   01020304-0506-0708-090A-0B0C0D0E0F10 (upper case)\n%pUl:   04030201-0605-0807-090a-0b0c0d0e0f10\n%pUL:   04030201-0605-0807-090A-0B0C0D0E0F10 (upper case)\n\n%pU defaults to %pUb\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nCc: Jeff Garzik \u003cjgarzik@redhat.com\u003e\nCc: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Alex Elder \u003caelder@sgi.com\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Artem Bityutskiy \u003cdedekind@infradead.org\u003e\nCc: Adrian Hunter \u003cadrian.hunter@nokia.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\nCc: Matt Mackall \u003cmpm@selenic.com\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e7d2860b690d4f3bed6824757c540579638e3d1e",
      "tree": "84268ee28893256fd6a6a7e1d4474f61dbee74e7",
      "parents": [
        "84c95c9acf088c99d8793d78036b67faa5d0b851"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "tree-wide: convert open calls to remove spaces to skip_spaces() lib function\n\nMakes use of skip_spaces() defined in lib/string.c for removing leading\nspaces from strings all over the tree.\n\nIt decreases lib.a code size by 47 bytes and reuses the function tree-wide:\n   text    data     bss     dec     hex filename\n  64688     584     592   65864   10148 (TOTALS-BEFORE)\n  64641     584     592   65817   10119 (TOTALS-AFTER)\n\nAlso, while at it, if we see (*str \u0026\u0026 isspace(*str)), we can be sure to\nremove the first condition (*str) as the second one (isspace(*str)) also\nevaluates to 0 whenever *str \u003d\u003d 0, making it redundant. In other words,\n\"a char equals zero is never a space\".\n\nJulia Lawall tried the semantic patch (http://coccinelle.lip6.fr) below,\nand found occurrences of this pattern on 3 more files:\n    drivers/leds/led-class.c\n    drivers/leds/ledtrig-timer.c\n    drivers/video/output.c\n\n@@\nexpression str;\n@@\n\n( // ignore skip_spaces cases\nwhile (*str \u0026\u0026  isspace(*str)) { \\(str++;\\|++str;\\) }\n|\n- *str \u0026\u0026\nisspace(*str)\n)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Jeff Dike \u003cjdike@addtoit.com\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: \"H. Peter Anvin\" \u003chpa@zytor.com\u003e\nCc: Richard Purdie \u003crpurdie@rpsys.net\u003e\nCc: Neil Brown \u003cneilb@suse.de\u003e\nCc: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nCc: Henrique de Moraes Holschuh \u003chmh@hmh.eng.br\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Samuel Ortiz \u003csamuel@sortiz.org\u003e\nCc: Patrick McHardy \u003ckaber@trash.net\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "922ac25c9f4b5dc4c48ff12bfd14a98bdeb6ff0a",
      "tree": "8c467994a89e65b231a3905a5e9d309ff1833139",
      "parents": [
        "c5484d7c0a533de6198cb474097e33b174f9c565"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "vsprintf: reuse almost identical simple_strtoulX() functions\n\nThe difference between simple_strtoul() and simple_strtoull() is just\nthe size of the variable used to keep track of the sum of characters\nconverted to numbers:\n\nunsigned long simple_strtoul() {...}\nunsigned long long simple_strtoull(){...}\n\nBoth are same size on my Core 2/gcc 4.4.1.\nOverflow condition is not checked on both functions, so an extremely large\nstring can break these functions so that they don\u0027t even notice it.\n\nAs we do not care for overflowing on these functions, always keep the sum\nusing the larger variable around (unsigned long long) on simple_strtoull()\nand cast it to (unsigned long) on simple_strtoul(), which then becomes\njust a wrapper around simple_strtoull().\n\nCode size decreases by 304 bytes:\n   text    data     bss     dec     hex filename\n  15534       0       8   15542    3cb6 vsprintf.o (ex lib/lib.a-BEFORE)\n  15230       0       8   15238    3b86 vsprintf.o (ex lib/lib.a-AFTER)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@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": "c5484d7c0a533de6198cb474097e33b174f9c565",
      "tree": "b546f0864d85724786157fff343723653d517865",
      "parents": [
        "d4be151b2180fbbc6729dfaa16280d150e3fab1f"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:01:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "vsprintf: factor out skip_space code in a separate function\n\nWhen converting more caller sites, the inline decision will be left up to gcc.\n\nIt decreases code size:\n text    data     bss     dec     hex filename\n15710       0       8   15718    3d66 vsprintf.o (ex lib/lib.a-BEFORE)\n15534       0       8   15542    3cb6 vsprintf.o (ex lib/lib.a-AFTER)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@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": "d4be151b2180fbbc6729dfaa16280d150e3fab1f",
      "tree": "2b82f9cd79144f04804db07384d4fdaf346b2ed8",
      "parents": [
        "b5ff992b09dbe06a4a020fbb702e29ab61290cc5"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "vsprintf: move local vars to block local vars and remove unneeded ones\n\nCleanup by moving variables closer to the scope where they\u0027re used in fact.\nAlso, remove unneeded ones.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@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": "b5ff992b09dbe06a4a020fbb702e29ab61290cc5",
      "tree": "b23916d07465dc4a2dbd011d2497491e5e217e5d",
      "parents": [
        "08562cb27da6a1472be15898173105b46801a73b"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:32 2009 -0800"
      },
      "message": "vsprintf: reduce code size by avoiding extra check\n\nNo functional change, just refactor the code so that it avoid checking\n\"if (hi)\" two times in a sequence, taking advantage of previous check made.\n\nIt also reduces code size:\n   text    data     bss     dec     hex filename\n  15726       0       8   15734    3d76 vsprintf.o (ex lib/lib.a-BEFORE)\n  15710       0       8   15718    3d66 vsprintf.o (ex lib/lib.a-AFTER)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@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": "08562cb27da6a1472be15898173105b46801a73b",
      "tree": "738e298e14771b9cf3e98389f2c0ae776f396165",
      "parents": [
        "7b9186f5eb0b1705abf7b2fbf33076a6b83f9d89"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "vsprintf: use TOLOWER whenever possible\n\nIt decreases code size as well:\n text    data     bss     dec     hex filename\n15758       0       8   15766    3d96 vsprintf.o (ex lib/lib.a-BEFORE)\n15726       0       8   15734    3d76 vsprintf.o (ex lib/lib.a-TOLOWER)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@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": "7b9186f5eb0b1705abf7b2fbf33076a6b83f9d89",
      "tree": "790d988d0d745ef09f760766e94f8f9a84670aa8",
      "parents": [
        "6c356634111c5a7a48264d7c9ec28559e4be11a2"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:57 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "vsprintf: give it some care to please checkpatch.pl\n\nMost relevant complaints were addressed.\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@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": "6c356634111c5a7a48264d7c9ec28559e4be11a2",
      "tree": "580b71e1e3764c4cc92ae9df5275b161c61f3267",
      "parents": [
        "0f4f81dce93774a447da3ceb98cce193ef84a3fa"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:56 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "vsprintf: pre-calculate final string length for later use\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@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": "0f4f81dce93774a447da3ceb98cce193ef84a3fa",
      "tree": "343f83bc9ed704d57f462a729eb91b100edff0c0",
      "parents": [
        "3768f0b1d18369bbb4ddc3adca791d26704e8047"
      ],
      "author": {
        "name": "André Goddard Rosa",
        "email": "andre.goddard@gmail.com",
        "time": "Mon Dec 14 18:00:55 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Dec 15 08:53:29 2009 -0800"
      },
      "message": "vsprintf: factorize \"(null)\" string\n\nThis patchset reduces lib/lib.a code size by 482 bytes on my Core 2 with\ngcc 4.4.1 even considering that it exports a newly defined function\nskip_spaces() to drivers:\n\n   text    data     bss     dec     hex filename\n  64867     840     592   66299   102fb (TOTALS-lib.a-BEFORE)\n  64641     584     592   65817   10119 (TOTALS-lib.a-AFTER)\nand implements some code tidy up.\n\nBesides reducing lib.a size, it converts many in-tree drivers to use the\nnewly defined function, which makes another small reduction on kernel size\noverall when those drivers are used.\n\nThis patch:\n\nChange \"\u003cNULL\u003e\" to \"(null)\", unifying 3 equal strings.\nglibc also uses \"(null)\" for the same purpose.\n\nIt decreases code size by 7 bytes:\n text    data     bss     dec     hex filename\n15765       0       8   15773    3d9d vsprintf.o (ex lib/lib.a-BEFORE)\n15758       0       8   15766    3d96 vsprintf.o (ex lib/lib.a-AFTER)\n\nSigned-off-by: André Goddard Rosa \u003candre.goddard@gmail.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@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": "c7dabef8a2c59e6a3de9d66fc35fb6a43ef7172d",
      "tree": "0f8b0021e693a0e380ef9026083b59d0909dffc6",
      "parents": [
        "4fd8bdc567e70c02fab7eeaaa7d2a64232add789"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Oct 27 13:26:47 2009 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Nov 04 13:06:41 2009 -0800"
      },
      "message": "vsprintf: use %pR, %pr instead of %pRt, %pRf\n\nJesse accidentally applied v1 [1] of the patchset instead of v2 [2].  This\nis the diff between v1 and v2.\n\nThe changes in this patch are:\n    - tidied vsprintf stack buffer to shrink and compute size more\n      accurately\n    - use %pR for decoding and %pr for \"raw\" (with type and flags) instead\n      of adding %pRt and %pRf\n\n[1] http://lkml.org/lkml/2009/10/6/491\n[2] http://lkml.org/lkml/2009/10/13/441\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "fd95541e23e2c9acb1e38cd41fc0c7cc37fceb53",
      "tree": "b23aae11e5649a47a08b2ae20603e377ca16f3be",
      "parents": [
        "c91d3376e5f4277173a22f0ef9989125c318bacb"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Oct 06 15:33:39 2009 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Nov 04 08:47:17 2009 -0800"
      },
      "message": "vsprintf: add %pRt, %pRf to print struct resource details\n\nThis adds support for printing struct resource type and flag information.\nFor example, \"%pRt\" looks like \"[mem 0x80080000000-0x8008001ffff 64bit pref]\",\nand \"%pRf\" looks like \"[mem 0xff5e2000-0xff5e2007 pref flags 0x1]\".\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "c91d3376e5f4277173a22f0ef9989125c318bacb",
      "tree": "1f5534a2792f0de2cd8937d7efd9dc03d97ac2e4",
      "parents": [
        "2840537228fba95e05cab1a6b5719c61982db279"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Oct 06 15:33:34 2009 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Nov 04 08:47:16 2009 -0800"
      },
      "message": "vsprintf: add %pR support for IRQ and DMA resources\n\nPrint addresses (IO port numbers and memory addresses) in hex, but print\nothers (IRQs and DMA channels) in decimal.  Only print the end if it\u0027s\ndifferent from the start.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "2840537228fba95e05cab1a6b5719c61982db279",
      "tree": "071b70210b1ebdf2fb7ff908f57ca481357edaaa",
      "parents": [
        "3368dd29586c6460b629ac5b4f6b86a6fd3dd421"
      ],
      "author": {
        "name": "Bjorn Helgaas",
        "email": "bjorn.helgaas@hp.com",
        "time": "Tue Oct 06 15:33:29 2009 -0600"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Wed Nov 04 08:47:15 2009 -0800"
      },
      "message": "vsprintf: fix io/mem resource width\n\nThe leading \"0x\" consumes field width, so leave space for it in addition to\nthe 4 or 8 hex digits.  This means we\u0027ll print \"0x0000-0x01df\" rather than\n\"0x00-0x1df\", for example.\n\nSigned-off-by: Bjorn Helgaas \u003cbjorn.helgaas@hp.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "8fccae2c95506270f74ee8429c273b0924e89c83",
      "tree": "0d7147c02cda1ae3476698808957477569160c00",
      "parents": [
        "d41a4b515e346b3afdb5147d86927fa5835fc13b"
      ],
      "author": {
        "name": "Andy Spencer",
        "email": "andy753421@gmail.com",
        "time": "Thu Oct 01 15:44:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 01 16:11:16 2009 -0700"
      },
      "message": "sscanf(): fix %*s%n\n\nWhen using %*s, sscanf should honor conversion specifiers immediately\nfollowing the %*s.  For example, the following code should find the\nposition of the end of the string \"hello\".\n\n  int end;\n  char buf[] \u003d \"hello    world\";\n  sscanf(buf, \"%*s%n\", \u0026end);\n  printf(\"%d\\n\", end);\n\nIdeally, sscanf would advance the fmt and str pointers the same as it\nwould without the *, but the code for that is rather complicated and is\nnot included in the patch.\n\nSigned-off-by: Andy Spencer \u003candy753421@gmail.com\u003e\nAcked-by: WANG Cong \u003cxiyou.wangcong@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": "8b3f6af86378d0a10ca2f1ded1da124aef13b62c",
      "tree": "de6ca90295730343c495be8d98be8efa322140ef",
      "parents": [
        "139d6065c83071d5f66cd013a274a43699f8e2c1",
        "94e0fb086fc5663c38bbc0fe86d698be8314f82f"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:13:11 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Thu Sep 24 15:13:11 2009 -0700"
      },
      "message": "Merge branch \u0027master\u0027 of /home/davem/src/GIT/linux-2.6/\n\nConflicts:\n\tdrivers/staging/Kconfig\n\tdrivers/staging/Makefile\n\tdrivers/staging/cpc-usb/TODO\n\tdrivers/staging/cpc-usb/cpc-usb_drv.c\n\tdrivers/staging/cpc-usb/cpc.h\n\tdrivers/staging/cpc-usb/cpc_int.h\n\tdrivers/staging/cpc-usb/cpcusb.h\n"
    },
    {
      "commit": "eb78cd26b9b519d94e20ce9c0697e5056046669d",
      "tree": "7957cf4d3d61d5de3152642c0ded0ce230bb2ad1",
      "parents": [
        "95acf7d7ed95fdb9bfd5b7a71752701a0e382bd9"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Fri Sep 18 13:04:06 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Sep 22 14:00:05 2009 -0700"
      },
      "message": "lib/vsprintf.c: Avoid possible unaligned accesses in %pI6c\n\nJens Rosenboom noticed that a possibly unaligned const char*\nis cast to a const struct in6_addr *.\n\nAvoid this at the cost of a struct in6_addr copy on the stack.\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2f30b1f9e1b612cdd1a17daeecf514229e8d6a5f",
      "tree": "78be4b31e0fee84c34bcd53270257290098ee058",
      "parents": [
        "efc03ecb9d674588a13aee27289c2af2afe5e6b4"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Mon Sep 21 17:04:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 22 07:17:47 2009 -0700"
      },
      "message": "vsprintf: use WARN_ON_ONCE\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nReviewed-by: Frederic Weisbecker \u003cfweisbec@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": "0efb4d20723d58edbad29d1ff98a86b631adb5e6",
      "tree": "4713e395ed1c8aebff3a865605bec0dab644e7a8",
      "parents": [
        "5dd4de587fd9c25cb32a7a0fe9feec3647509b6f"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Thu Sep 17 09:27:29 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Sep 17 15:53:46 2009 -0400"
      },
      "message": "vsnprintf: remove duplicate comment of vsnprintf\n\nRemove the duplicate comment of bstr_printf that is the same as the\nvsnprintf.\n\nAdd the \u0027s\u0027 option to the comment for the pointer function. This is\nmore of an internal function so the little duplication of the comment\nhere is OK.\n\nReported-by: Zhaolei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "91adcd2c4b104a8ce2973e6e84b01fd48735ffc6",
      "tree": "18a97957e7881ef3e4405be940c0ebfc61873b41",
      "parents": [
        "45bd00d31de886f8425b4dd33204b911b0a466a9"
      ],
      "author": {
        "name": "Steven Rostedt",
        "email": "srostedt@redhat.com",
        "time": "Wed Sep 16 20:03:06 2009 -0400"
      },
      "committer": {
        "name": "Steven Rostedt",
        "email": "rostedt@goodmis.org",
        "time": "Thu Sep 17 15:53:14 2009 -0400"
      },
      "message": "vsprintf: add %ps that is the same as %pS but is like %pf\n\nOn PowerPC64 function pointers do not point directly at the functions,\nbut instead point to pointers to the functions. The output of %pF expects\nto point to a pointer to the function, whereas %pS will show the function\nitself.\n\nmcount returns the direct pointer to the function and not the pointer to\nthe pointer. Thus %pS must be used to show this. The function tracer\nrequires printing of the functions without offsets and uses the %pf\ninstead.\n\n %pF produces run_local_timers+0x4/0x1f\n %pf produces just run_local_timers\n\nFor PowerPC64, we need to use the direct pointer, and we only have\n%pS which will produce .run_local_timers+0x4/0x1f\n\nThis patch creates a %ps that matches the %pf as %pS matches %pF.\n\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\n"
    },
    {
      "commit": "8a27f7c90ffcb791eed7574922b51fb60b08fc89",
      "tree": "5ae50f27ff9c3c97130afe2b3672091573ecf47c",
      "parents": [
        "9a7030b76ab3c2b23b1629c49b6df33fb5aed305"
      ],
      "author": {
        "name": "Joe Perches",
        "email": "joe@perches.com",
        "time": "Mon Aug 17 12:29:44 2009 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Aug 29 00:19:26 2009 -0700"
      },
      "message": "lib/vsprintf.c: Add \"%pI6c\" - print pointer as compressed ipv6 address\n\nSigned-off-by: Joe Perches \u003cjoe@perches.com\u003e\nTested-by: Jens Rosenboom \u003cjens@mcbone.net\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0c8b946e3ebb3846103486420ea7430a4b5e5b1b",
      "tree": "7d1c7f73edb19e3d1a1322065fc714e69348a239",
      "parents": [
        "a4e94ef0dd391eae05bdeacd12b8da3510957a97"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Wed Apr 15 17:48:18 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 29 20:55:55 2009 +0200"
      },
      "message": "vsprintf: introduce %pf format specifier\n\nA printf format specifier which would allow us to print a pure\nfunction name has been suggested by Andrew Morton a couple of\nmonths ago.\n\nThe current %pF is very convenient to print a function symbol,\nbut often we only want to print the name of the function, without\nits asm offset.\n\nThat\u0027s what  %pf does in this patch.  The lowecase f has been chosen\nfor its intuitive meaning of a \u0027weak kind of %pF\u0027.\n\nThe support for this new format would be welcome by the tracing code\nwhere the need to print pure function names is often needed. This is\nalso true for other parts of the kernel:\n\n$ git-grep -E \"kallsyms_lookup\\(.+?\\)\"\narch/blackfin/kernel/traps.c:   symname \u003d kallsyms_lookup(address, \u0026symsize, \u0026offset, \u0026modname, namebuf);\narch/powerpc/xmon/xmon.c:               name \u003d kallsyms_lookup(pc, \u0026size, \u0026offset, NULL, tmpstr);\narch/sh/kernel/cpu/sh5/unwind.c:        sym \u003d kallsyms_lookup(pc, NULL, \u0026offset, NULL, namebuf);\narch/x86/kernel/ftrace.c:       kallsyms_lookup((unsigned long) syscall, NULL, NULL, NULL, str);\nkernel/kprobes.c:               sym \u003d kallsyms_lookup((unsigned long)p-\u003eaddr, NULL,\nkernel/lockdep.c:       return kallsyms_lookup((unsigned long)key, NULL, NULL, NULL, str);\nkernel/trace/ftrace.c:  kallsyms_lookup(rec-\u003eip, NULL, NULL, NULL, str);\nkernel/trace/ftrace.c:  kallsyms_lookup(rec-\u003eip, NULL, NULL, NULL, str);\nkernel/trace/ftrace.c:  kallsyms_lookup((unsigned long)rec-\u003eops-\u003efunc, NULL, NULL, NULL, str);\nkernel/trace/ftrace.c:  kallsyms_lookup(rec-\u003eip, NULL, NULL, NULL, str);\nkernel/trace/ftrace.c:  kallsyms_lookup(rec-\u003eip, NULL, NULL, NULL, str);\nkernel/trace/ftrace.c:  kallsyms_lookup(rec-\u003eip, NULL, NULL, \u0026modname, str);\nkernel/trace/ftrace.c:  kallsyms_lookup(*ptr, NULL, NULL, NULL, str);\nkernel/trace/trace_functions.c: kallsyms_lookup(ip, NULL, NULL, NULL, str);\nkernel/trace/trace_output.c:    kallsyms_lookup(address, NULL, NULL, NULL, str);\n\nChanges in v2:\n\n- Add the explanation of the %pf role for vsnprintf() and bstr_printf()\n\n- Change the comments by dropping the \"asm offset\" notion and only\n  define the %pf against the actual function offset notion.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Zhaolei \u003czhaolei@cn.fujitsu.com\u003e\nCc: Tom Zanussi \u003ctzanussi@gmail.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c20090415154817.GC5989@nowhere\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "a4e94ef0dd391eae05bdeacd12b8da3510957a97",
      "tree": "6ef080876d54e2f3b52bb551daf8e4cd601beff8",
      "parents": [
        "022624a758dc9489388a99ad29577b4c8c09237c"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Fri Mar 27 17:07:05 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 17:04:30 2009 +0200"
      },
      "message": "printk: add support of hh length modifier for printk\n\nImpact: new feature, extend vsprintf format strings\n\nhh is used as length modifier for signed char or unsigned char.\nIt is supported by glibc, we add kernel support now.\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nAcked-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: torvalds@linux-foundation.org\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49CC9739.30107@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "022624a758dc9489388a99ad29577b4c8c09237c",
      "tree": "b434af52b1a326fdbb96c0af9f41f012bab48acb",
      "parents": [
        "ff96e612cba32510e263e17b213235fe5746397e"
      ],
      "author": {
        "name": "Zhaolei",
        "email": "zhaolei@cn.fujitsu.com",
        "time": "Fri Mar 27 17:09:10 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 08 17:03:44 2009 +0200"
      },
      "message": "printk: fix wrong format string iter for printk\n\nprintk(\"%Q\");\n\n Output before patch:  %QQ\n Output  after patch:  %Q\n\nSigned-off-by: Zhao Lei \u003czhaolei@cn.fujitsu.com\u003e\nAcked-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: torvalds@linux-foundation.org\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c49CC97B6.7040809@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ed681a91ab805341675d166a9592551093c0a2d9",
      "tree": "71945018c495b26659fe38cc2cf45347bbdad856",
      "parents": [
        "adf26f84a62b492e002d3b75af671f23ddd3be0a"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sat Mar 14 12:08:50 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 14 12:37:09 2009 +0100"
      },
      "message": "vsprintf: unify the format decoding layer for its 3 users, cleanup\n\nImpact: cleanup\n\nRename FORMAT_TYPE_WITDH\n to \u003d\u003e FORMAT_TYPE_WIDTH\n\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "adf26f84a62b492e002d3b75af671f23ddd3be0a",
      "tree": "4ce7c1f1a09b625960af9b9eabe1e15616747232",
      "parents": [
        "39e874f8afbdb3745e2406ce4ecbde9ac4cbaa78"
      ],
      "author": {
        "name": "Vegard Nossum",
        "email": "vegard.nossum@gmail.com",
        "time": "Sat Mar 14 12:08:50 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Sat Mar 14 12:37:08 2009 +0100"
      },
      "message": "fix regression from \"vsprintf: unify the format decoding layer for its 3 users\"\n\nJeremy Fitzhardinge reported:\n\n\u003e Change fef20d9c1380f04ba9492d6463148db07b413708, \"vsprintf:\n\u003e unify the format decoding layer for its 3 users\", causes a\n\u003e regression in xenbus which results in no devices getting\n\u003e attached to a new domain.\n\n%.*s is broken - fix it.\n\nReported-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "39e874f8afbdb3745e2406ce4ecbde9ac4cbaa78",
      "tree": "7803af729748413da864811ebcc7a44cd98bbe52",
      "parents": [
        "fef20d9c1380f04ba9492d6463148db07b413708"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Mon Mar 09 21:15:04 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 13:15:06 2009 +0100"
      },
      "message": "vsprintf: fix bug in negative value printing\n\nSitsofe Wheeler found and bisected that while unifying the\nvsprintf format decoding in:\n\n  fef20d9: vsprintf: unify the format decoding layer for its 3 users\n\nThe sign flag has been dropped out in favour of\nprecise types (ie: LONG/ULONG).\n\nBut the format helper number() still needs this flag to keep track of\nthe signedness unless it will consider all numbers as unsigned.\n\nAlso add an explicit cast to int (for %d) while parsing with va_arg()\nto ensure the highest bit is well extended on the 64 bits number that\nhosts the value in case of negative values.\n\nReported-Bisected-Tested-by: Sitsofe Wheeler \u003csitsofe@yahoo.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c20090309201503.GA5010@nowhere\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "fef20d9c1380f04ba9492d6463148db07b413708",
      "tree": "37ada8bb39b6d1094bc2a58db65b349971836a73",
      "parents": [
        "4370aa4aa75391a5e2e06bccb0919109f725ed8e"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Fri Mar 06 17:21:50 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:44:27 2009 +0100"
      },
      "message": "vsprintf: unify the format decoding layer for its 3 users\n\nAn new optimization is making its way to ftrace. Its purpose is to\nmake trace_printk() consuming less memory and be faster.\n\nWritten by Lai Jiangshan, the approach is to delay the formatting\njob from tracing time to output time.\n\nCurrently, a call to trace_printk() will format the whole string and\ninsert it into the ring buffer. Then you can read it on /debug/tracing/trace\nfile.\n\nThe new implementation stores the address of the format string and\nthe binary parameters into the ring buffer, making the packet more compact\nand faster to insert.\nLater, when the user exports the traces, the format string is retrieved\nwith the binary parameters and the formatting job is eventually done.\n\nThe new implementation rewrites a lot of format decoding bits from\nvsnprintf() function, making now 3 differents functions to maintain\nin their duplicated parts of printf format decoding bits.\n\nSuggested by Ingo Molnar, this patch tries to factorize the most\npossible common bits from these functions.\nThe real common part between them is the format decoding. Although\nthey do somewhat similar jobs, their way to export or import the parameters\nis very different. Thus, only the decoding layer is extracted, unless you see\nother parts that could be worth factorized.\n\nChanges in V2:\n\n- Address a suggestion from Linus to group the format_decode() parameters inside\n  a structure.\n\nChanges in v3:\n\n- Address other cleanups suggested by Ingo and Linus such as passing the\n  printf_spec struct to the format helpers: pointer()/number()/string()\n  Note that this struct is passed by copy and not by address. This is to\n  avoid side effects because these functions often change these values and the\n  changes shoudn\u0027t be persistant when a callee helper returns.\n  It would be too risky.\n\n- Various cleanups (code alignement, switch/case instead of if/else fountains).\n\n- Fix a bug that printed the first format specifier following a %p\n\nChanges in v4:\n\n- drop unapropriate const qualifier loss while casting fmt to a char *\n  (thanks to Vegard Nossum for having pointed this out).\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nAcked-by: Steven Rostedt \u003crostedt@goodmis.org\u003e\nLKML-Reference: \u003c1236356510-8381-6-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "4370aa4aa75391a5e2e06bccb0919109f725ed8e",
      "tree": "602a6ea4e404d17e610d4a9979d615ff2d0bfd98",
      "parents": [
        "f036be96dd9ce442ffb9ab33e3c165f5178815c0"
      ],
      "author": {
        "name": "Lai Jiangshan",
        "email": "laijs@cn.fujitsu.com",
        "time": "Fri Mar 06 17:21:46 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 06 17:39:04 2009 +0100"
      },
      "message": "vsprintf: add binary printf\n\nImpact: add new APIs for binary trace printk infrastructure\n\nvbin_printf(): write args to binary buffer, string is copied\nwhen \"%s\" is occurred.\n\nbstr_printf(): read from binary buffer for args and format a string\n\n[fweisbec@gmail.com: rebase]\n\nSigned-off-by: Lai Jiangshan \u003claijs@cn.fujitsu.com\u003e\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nLKML-Reference: \u003c1236356510-8381-2-git-send-email-fweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e899aa823ad74860a17b541b0ad38f513728923d",
      "tree": "019c4a1b7baafe9967aa50cc49e809c11d39f944",
      "parents": [
        "ff083c8372f6312bb3a8c7f7b748920aeeb210c9"
      ],
      "author": {
        "name": "Pavel Machek",
        "email": "pavel@suse.cz",
        "time": "Tue Jan 06 14:40:53 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 06 15:59:12 2009 -0800"
      },
      "message": "strict_strto* is not strict enough\n\nIt decodes \"\\n\" as 0, which is bad, because stray echo into backlight\nwill turn your backlight off, etc...\n\nSigned-off-by: Pavel Machek \u003cpavel@suse.cz\u003e\nCc: Yi Yang \u003cyi.y.yang@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d97106ab53f812910a62d18afb9dbe882819c1ba",
      "tree": "edd1a2c287b7d98ee7b62e7ea6457c8a10abe016",
      "parents": [
        "3bfacef412b4bc993a8992217e50f1245f2fd3a6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:46:17 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 03 11:46:17 2009 -0800"
      },
      "message": "Make %p print \u0027(null)\u0027 for NULL pointers\n\nBefore, when we only ever printed out the pointer value itself, a NULL\npointer would never cause issues and might as well be printed out as\njust its numeric value.\n\nHowever, with the extended %p formats, especially %pR, we might validly\nwant to print out resources for debugging.  And sometimes they don\u0027t\neven exist, and the resource pointer is just NULL.  Print it out as\nsuch, rather than oopsing.\n\nThis is a more generic version of a patch done by Trent Piepho (catching\nall %p cases rather than just %pR, and using \"(null)\" instead of\n\"[NULL]\" to match glibc).\n\nRequested-by: Trent Piepho \u003cxyzzy@speakeasy.org\u003e\nAcked-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "411c41eea58bd3500cf897e2c27dd5330935a3a8",
      "tree": "c6987d1351581def73321b7c8d518ac75db876a2",
      "parents": [
        "9c8f92aed16dbd1924910f3305f5992a4f29fe2a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Nov 25 00:40:37 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Nov 25 00:40:37 2008 -0800"
      },
      "message": "aoe: remove private mac address format function\n\nAdd %pm to omit the colons when printing a mac address.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b9ac99855dcc0316ba2feee2b0d3e578f8315b75",
      "tree": "7ca8a4864a3a8f29bc53ab705954c7e7220d2686",
      "parents": [
        "48148938b494cd57029a43c758e9972307a31d2a"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Nov 03 17:09:55 2008 -0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Nov 03 17:09:55 2008 -0800"
      },
      "message": "printk: ipv4 address digits printed in reverse order\n\nput_dec_trunc prints the digits in reverse order and is reversed\ninside number(). Continue using put_dec_trunc, but reverse each quad\nin ip4_addr_string.\n\n[Noticed by Julius Volz]\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "6b9a1066f8d4c57c1b778affd91fc38e1121b6f8",
      "tree": "6dd772a39de80c2eef621f40e307156fcb1ec2a8",
      "parents": [
        "5b095d98928fdb9e3b75be20a54b7a6cbf6ca9ad"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:53:10 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:53:10 2008 -0700"
      },
      "message": "printk: remove %p6 format specifier, fix up comments\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "4aa996066ffc0dba24036c961ee38dfdfbfc061c",
      "tree": "61af96e4806e71048b981936b54abdb5506e950a",
      "parents": [
        "96631ed16c514cf8b28fab991a076985ce378c26"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Wed Oct 29 12:49:58 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Oct 29 12:49:58 2008 -0700"
      },
      "message": "printk: add %I4, %I6, %i4, %i6 format specifiers\n\nFor use in printing IPv4, or IPv6 addresses in the usual way:\n\n%i4 and %I4 are currently equivalent and print the address in\ndot-separated decimal x.x.x.x\n\n%I6 prints 16-bit network order hex with colon separators:\nxxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx\n\n%i6 omits the colons.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "689afa7da106032a3e859ae35494f80dd6eac640",
      "tree": "470f00c94ff2f179c6b0405c4726b92a51e7110a",
      "parents": [
        "3a2dfbe8acb154905fdc2fd03ec56df42e6c4cc4"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Tue Oct 28 16:04:44 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Oct 28 16:04:44 2008 -0700"
      },
      "message": "printk: add %p6 format specifier for IPv6 addresses\n\nTakes a pointer to a IPv6 address and formats it in the usual\ncolon-separated hex format:\nxxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx\n\nEach 16 bit word is printed in network-endian byteorder.\n\n%#p6 is also supported and will omit the colons.\n\n%p6 is a replacement for NIP6_FMT and NIP6()\n%#p6 is a replacement for NIP6_SEQFMT and NIP6()\n\nNote that NIP6() took a struct in6_addr whereas this takes a pointer\nto a struct in6_addr.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "dd45c9cf687682c9ce256ab14bd8914db77410bb",
      "tree": "0769c1655b55f2528e9aaf8f96ba8d856f72f0ca",
      "parents": [
        "1080d709fb9d8cd4392f93476ee46a9d6ea05a5b"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Mon Oct 27 15:47:12 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Mon Oct 27 17:06:15 2008 -0700"
      },
      "message": "printk: add %pM format specifier for MAC addresses\n\nAdd format specifiers for printing out six colon-separated bytes:\n\nMAC addresses (%pM):\nxx:xx:xx:xx:xx:xx\n\n%#pM is also supported and omits the colon separators.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "332d2e7834986a9326ec3fa6a91641daef81746c",
      "tree": "06a7bdc9675485577080b5af964fd6480a2670fa",
      "parents": [
        "88e366217e8f75bd7eab64f4aa4ff9583070b0af"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 15:07:34 2008 +1100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Oct 20 09:12:32 2008 -0700"
      },
      "message": "Implement %pR to print struct resource content\n\nAdd a %pR option to the kernel vsnprintf that prints the range of\naddresses inside a struct resource passed by pointer.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nSigned-off-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9d85db2244d71fa4f2f9747a090c1920f07a8b4b",
      "tree": "5ae72c9df6cdc1ade8fcff0c3bbe7aad5f875fe5",
      "parents": [
        "22d27051b4b2a2650c54fa3f08c2c271c6234a2f"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Oct 16 13:40:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 14:58:08 2008 -0700"
      },
      "message": "lib: remove defining macros for strict_strto??\n\nOpen-code them rather than using defining macros.  The function bodies are now\nnext to their kerneldoc comments as a bonus.\n\nAdd casts to the signed cases as they call into the unsigned versions.\n\nAvoids the sparse warnings:\nlib/vsprintf.c:249:1: warning: incorrect type in argument 3 (different signedness)\nlib/vsprintf.c:249:1:    expected unsigned long *res\nlib/vsprintf.c:249:1:    got long *res\nlib/vsprintf.c:249:1: warning: incorrect type in argument 3 (different signedness)\nlib/vsprintf.c:249:1:    expected unsigned long *res\nlib/vsprintf.c:249:1:    got long *res\nlib/vsprintf.c:251:1: warning: incorrect type in argument 3 (different signedness)\nlib/vsprintf.c:251:1:    expected unsigned long long *res\nlib/vsprintf.c:251:1:    got long long *res\nlib/vsprintf.c:251:1: warning: incorrect type in argument 3 (different signedness)\nlib/vsprintf.c:251:1:    expected unsigned long long *res\nlib/vsprintf.c:251:1:    got long long *res\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22d27051b4b2a2650c54fa3f08c2c271c6234a2f",
      "tree": "ca1b72ecfdbc710ff6ab975ef85af53daaf6911b",
      "parents": [
        "aa46a63efc896f0a6d54e7614e750788793582e5"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Oct 16 13:40:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 14:58:07 2008 -0700"
      },
      "message": "lib: trivial whitespace tidy\n\nRemove extra lines before the EXPORT_SYMBOL()s\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "aa46a63efc896f0a6d54e7614e750788793582e5",
      "tree": "c5b7b23186e6a47f56f00b139bf61a8faa477692",
      "parents": [
        "73b4a24f5ff09389ba6277c53a266b142f655ed2"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Oct 16 13:40:34 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 14:58:07 2008 -0700"
      },
      "message": "lib: pull base-guessing logic to helper function\n\nThe default base is 10 unless there is a leading zero, in which\ncase the base will be guessed as 8.\n\nThe base will only be guesed as 16 when the string starts with \u00270x\u0027\nthe third character is a valid hex digit.\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "20036fdcaf05fac0a84ed81a56906493a7d822e2",
      "tree": "df06d92ffa8190dfafa59cbb7528564f8d0a055a",
      "parents": [
        "9536727ef696861b205834dd2e01456b91088cb7"
      ],
      "author": {
        "name": "Andi Kleen",
        "email": "andi@firstfloor.org",
        "time": "Wed Oct 15 22:02:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 16 11:21:32 2008 -0700"
      },
      "message": "Add kerneldoc documentation for new printk format extensions\n\nAdd documentation in kerneldoc for new printk format extensions\n\nThis patch documents the new %pS/%pF options in printk in kernel doc.\n\nHope I didn\u0027t miss any other extension.\n\nSigned-off-by: Andi Kleen \u003cak@linux.intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "deac93df26b20cf8438339b5935b5f5643bc30c9",
      "tree": "8e67edd505e4a8bde380c724b67ce9ca98b8ee91",
      "parents": [
        "7ae115b4f50d3c5824f1a15e572b5de9d1b06d35"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Sep 03 20:43:36 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 09 11:51:15 2008 -0700"
      },
      "message": "lib: Correct printk %pF to work on all architectures\n\nIt was introduced by \"vsprintf: add support for \u0027%pS\u0027 and \u0027%pF\u0027 pointer\nformats\" in commit 0fe1ef24f7bd0020f29ffe287dfdb9ead33ca0b2.  However,\nthe current way its coded doesn\u0027t work on parisc64.  For two reasons: 1)\nparisc isn\u0027t in the #ifdef and 2) parisc has a different format for\nfunction descriptors\n\nMake dereference_function_descriptor() more accommodating by allowing\narchitecture overrides.  I put the three overrides (for parisc64, ppc64\nand ia64) in arch/kernel/module.c because that\u0027s where the kernel\ninternal linker which knows how to deal with function descriptors sits.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nAcked-by: Tony Luck \u003ctony.luck@intel.com\u003e\nAcked-by: Kyle McMartin \u003ckyle@mcmartin.ca\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "29a6d39bf3a890ad1d29e66baa9f4bc8d9334f3a",
      "tree": "099db96f315e95e28755e88a2914c1abbc3dcb70",
      "parents": [
        "afa9b649aa699297258dbb67aaae651c9ad4245f"
      ],
      "author": {
        "name": "Yi Yang",
        "email": "yi.y.yang@intel.com",
        "time": "Tue Aug 12 15:08:58 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Aug 12 16:07:29 2008 -0700"
      },
      "message": "lib/vsprintf.c: wrong conversion function used\n\nFix wrong conversion function used by strict_strtou*\n\nSigned-off-by: Yi Yang \u003cyi.y.yang@intel.com\u003e\nReported-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0fe1ef24f7bd0020f29ffe287dfdb9ead33ca0b2",
      "tree": "0069dd9dba6554f74436ea1d836ecc054a6b95d7",
      "parents": [
        "4d8a743cdd2690c0bc8d1b8cbd02cffb1ead849f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 06 16:43:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 06 16:55:51 2008 -0700"
      },
      "message": "vsprintf: add support for \u0027%pS\u0027 and \u0027%pF\u0027 pointer formats\n\nThey print out a pointer in symbolic format, if possible (ie using\nsymbolic KALLSYMS information).  The \u0027%pS\u0027 format is for regular direct\npointers (which can point to data or code and that you find on the stack\nduring backtraces etc), while \u0027%pF\u0027 is for C function pointer types.\n\nOn most architectures, the two mean exactly the same thing, but some\narchitectures use an indirect pointer for C function pointers, where the\nfunction pointer points to a function descriptor (which in turn contains\nthe actual pointer to the code).  The \u0027%pF\u0027 code automatically does the\nappropriate function descriptor dereference on such architectures.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4d8a743cdd2690c0bc8d1b8cbd02cffb1ead849f",
      "tree": "772c0e66fba248da8736edc4b633ddf294b86e8b",
      "parents": [
        "78a8bf69b32980879975f7e31d30386c50bfe851"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 06 16:24:57 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 06 16:24:57 2008 -0700"
      },
      "message": "vsprintf: add infrastructure support for extended \u0027%p\u0027 specifiers\n\nThis expands the kernel \u0027%p\u0027 handling with an arbitrary alphanumberic\nspecifier extension string immediately following the \u0027%p\u0027.  Right now\nit\u0027s just being ignored, but the next commit will start adding some\nspecific pointer type extensions.\n\nNOTE! The reason the extension is appended to the \u0027%p\u0027 is to allow\nminimal gcc type checking: gcc will still see the \u0027%p\u0027 and will check\nthat the argument passed in is indeed a pointer, and yet will not\ncomplain about the extended information that gcc doesn\u0027t understand\nabout (on the other hand, it also won\u0027t actually check that the pointer\ntype and the extension are compatible).\n\nAlphanumeric characters were chosen because there is no sane existing\nuse for a string format with a hex pointer representation immediately\nfollowed by alphanumerics (which is what such a format string would have\ntraditionally resulted in).\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "78a8bf69b32980879975f7e31d30386c50bfe851",
      "tree": "577521810087b901f9207f9cdbbe884ced43e490",
      "parents": [
        "0f9bfa569d46f2346a53a940b2b9e49a38635732"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 06 16:16:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 06 16:16:15 2008 -0700"
      },
      "message": "vsprintf: split out \u0027%p\u0027 handling logic\n\nThe actual code is the same, just split out into a helper function.\nThis makes it easier to read, and allows for simple future extension\nof %p handling.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f9bfa569d46f2346a53a940b2b9e49a38635732",
      "tree": "ca301743d54bc7f4e0fea3f541db1b23768f9934",
      "parents": [
        "1b40a895df6c7d5a80e71f65674060b03d84bbef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 06 16:06:25 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jul 06 16:06:25 2008 -0700"
      },
      "message": "vsprintf: split out \u0027%s\u0027 handling logic\n\nThe actual code is the same, just split out into a helper function.\nThis makes it easier to read, and allows for future sharing of the\nstring code.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4f9d5f4a353440f2265781bfa641587964901861",
      "tree": "4e0ecda794f226859349b67c18a0a3dc43155f17",
      "parents": [
        "8ca3ed87db062201e1fa15b64a9214e193fc3a8a"
      ],
      "author": {
        "name": "Hoang-Nam Nguyen",
        "email": "hnguyen@linux.vnet.ibm.com",
        "time": "Sat Feb 23 15:23:37 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sat Feb 23 17:12:14 2008 -0800"
      },
      "message": "lib/vsprintf.c: fix bug omitting minus sign of numbers (module_param)\n\nlib/vsprintf.c: Fix bug omitting minus sign of numbers (module_param)\n\nSigned-off-by: Hoang-Nam Nguyen \u003chnguyen@de.ibm.com\u003e\nCc: Yi Yang \u003cyi.y.yang@intel.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9b706aee7d92d6ac3002547aea12e3eaa0a750ae",
      "tree": "b1e945b7d6eccd4ef44d80e1f3a4596a4a629c78",
      "parents": [
        "b6fbb669c8ef3a112121697ca901c290ccd35eb2"
      ],
      "author": {
        "name": "Denys Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Sat Feb 09 23:24:09 2008 +0100"
      },
      "committer": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Sat Feb 09 23:24:09 2008 +0100"
      },
      "message": "x86: trivial printk optimizations\n\nIn arch/x86/boot/printf.c gets rid of unused tail of digits: const char\n*digits \u003d \"0123456789abcdefghijklmnopqrstuvwxyz\"; (we are using 0-9a-f\nonly)\n\nUses smaller/faster lowercasing (by ORing with 0x20)\nif we know that we work on numbers/digits. Makes\nstrtoul smaller, and also we are getting rid of\n\n  static const char small_digits[] \u003d \"0123456789abcdefx\";\n  static const char large_digits[] \u003d \"0123456789ABCDEFX\";\n\nsince this works equally well:\n\n  static const char digits[16] \u003d \"0123456789ABCDEF\";\n\nSize savings:\n\n$ size vmlinux.org vmlinux\n   text    data     bss     dec     hex filename\n 877320  112252   90112 1079684  107984 vmlinux.org\n 877048  112252   90112 1079412  107874 vmlinux\n\nIt may be also a tiny bit faster because code has less\nbranches now, but I doubt it is measurable.\n\n[ hugh@veritas.com: uppercase pointers fix ]\n\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\n"
    },
    {
      "commit": "06b2a76d25d3cfbd14680021c1d356c91be6904e",
      "tree": "d7bc9d65fc7cfa9b30a9e3c731fd7a3e8d8c0100",
      "parents": [
        "10e6f32bdf02448f787d78647e75cf98a02f19a4"
      ],
      "author": {
        "name": "Yi Yang",
        "email": "yi.y.yang@intel.com",
        "time": "Fri Feb 08 04:21:57 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Fri Feb 08 09:22:41 2008 -0800"
      },
      "message": "Add new string functions strict_strto* and convert kernel params to use them\n\nCurrently, for every sysfs node, the callers will be responsible for\nimplementing store operation, so many many callers are doing duplicate\nthings to validate input, they have the same mistakes because they are\ncalling simple_strtol/ul/ll/uul, especially for module params, they are\njust numeric, but you can echo such values as 0x1234xxx, 07777888 and\n1234aaa, for these cases, module params store operation just ignores\nsuccesive invalid char and converts prefix part to a numeric although input\nis acctually invalid.\n\nThis patch tries to fix the aforementioned issues and implements\nstrict_strtox serial functions, kernel/params.c uses them to strictly\nvalidate input, so module params will reject such values as 0x1234xxxx and\nreturns an error:\n\nwrite error: Invalid argument\n\nAny modules which export numeric sysfs node can use strict_strtox instead of\nsimple_strtox to reject any invalid input.\n\nHere are some test results:\n\nBefore applying this patch:\n\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000g \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000gggggggg \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 010000 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0100008 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 010000aaaaa \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]#\n\nAfter applying this patch:\n\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000g \u003e /sys/module/e1000/parameters/copybreak\n-bash: echo: write error: Invalid argument\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo 0x1000gggggggg \u003e /sys/module/e1000/parameters/copybreak\n-bash: echo: write error: Invalid argument\n[root@yangyi-dev /]# echo 010000 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# echo 0100008 \u003e /sys/module/e1000/parameters/copybreak\n-bash: echo: write error: Invalid argument\n[root@yangyi-dev /]# echo 010000aaaaa \u003e /sys/module/e1000/parameters/copybreak\n-bash: echo: write error: Invalid argument\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]# echo -n 4096 \u003e /sys/module/e1000/parameters/copybreak\n[root@yangyi-dev /]# cat /sys/module/e1000/parameters/copybreak\n4096\n[root@yangyi-dev /]#\n\n[akpm@linux-foundation.org: fix compiler warnings]\n[akpm@linux-foundation.org: fix off-by-one found by tiwai@suse.de]\nSigned-off-by: Yi Yang \u003cyi.y.yang@intel.com\u003e\nCc: Greg KH \u003cgreg@kroah.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nCc: Takashi Iwai \u003ctiwai@suse.de\u003e\nCc: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96e3e18eed3b48f6d4377dee0326a106e8a04569",
      "tree": "d6e4d66ec415ffc934930f32ed62cebe403e9a29",
      "parents": [
        "9965a5d5a5aab575f995ba58dc80285aa0f6ecbf"
      ],
      "author": {
        "name": "Sam Ravnborg",
        "email": "sam@ravnborg.org",
        "time": "Tue Jul 31 00:38:13 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue Jul 31 15:39:39 2007 -0700"
      },
      "message": "lib: move kasprintf to a separate file\n\nkasprintf pulls in kmalloc which proved to be fatal for at least\nbootimage target on alpha.\nMove it to a separate file so only users of kasprintf are exposed\nto the dependency on kmalloc.\n\nSigned-off-by: Sam Ravnborg \u003csam@ravnborg.org\u003e\nCc: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nCc: Meelis Roos \u003cmroos@linux.ee\u003e\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nCc: Jay Estabrook \u003cjay.estabrook@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4277eedd7908a0ca8b66fad46ee76b0ad96e6ef2",
      "tree": "88780b40c23883af5e9958a7f397f23ff5619ff7",
      "parents": [
        "b39a734097d5095d63eb9c709a6aaf965633bb01"
      ],
      "author": {
        "name": "Denis Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Sun Jul 15 23:41:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:52 2007 -0700"
      },
      "message": "vsprintf.c: optimizing, part 2: base 10 conversion speedup, v2\n\nOptimize integer-to-string conversion in vsprintf.c for base 10.  This is\nby far the most used conversion, and in some use cases it impacts\nperformance.  For example, top reads /proc/$PID/stat for every process, and\nwith 4000 processes decimal conversion alone takes noticeable time.\n\nUsing code from\n\nhttp://www.cs.uiowa.edu/~jones/bcd/decimal.html\n(with permission from the author, Douglas W. Jones)\n\nbinary-to-decimal-string conversion is done in groups of five digits at\nonce, using only additions/subtractions/shifts (with -O2; -Os throws in\nsome multiply instructions).\n\nOn i386 arch gcc 4.1.2 -O2 generates ~500 bytes of code.\n\nThis patch is run tested. Userspace benchmark/test is also attached.\nI tested it on PIII and AMD64 and new code is generally ~2.5 times\nfaster. On AMD64:\n\n# ./vsprintf_verify-O2\nOriginal decimal conv: .......... 151 ns per iteration\nPatched decimal conv:  .......... 62 ns per iteration\nTesting correctness\n12895992590592 ok...        [Ctrl-C]\n# ./vsprintf_verify-O2\nOriginal decimal conv: .......... 151 ns per iteration\nPatched decimal conv:  .......... 62 ns per iteration\nTesting correctness\n26025406464 ok...        [Ctrl-C]\n\nMore realistic test: top from busybox project was modified to\nreport how many us it took to scan /proc (this does not account\nany processing done after that, like sorting process list),\nand then I test it with 4000 processes:\n\n#!/bin/sh\ni\u003d4000\nwhile test $i !\u003d 0; do\n    sleep 30 \u0026\n    let i--\ndone\nbusybox top -b -n3 \u003e/dev/null\n\non unpatched kernel:\n\ntop: 4120 processes took 102864 microseconds to scan\ntop: 4120 processes took 91757 microseconds to scan\ntop: 4120 processes took 92517 microseconds to scan\ntop: 4120 processes took 92581 microseconds to scan\n\non patched kernel:\n\ntop: 4120 processes took 75460 microseconds to scan\ntop: 4120 processes took 66451 microseconds to scan\ntop: 4120 processes took 67267 microseconds to scan\ntop: 4120 processes took 67618 microseconds to scan\n\nThe speedup comes from much faster generation of /proc/PID/stat\nby sprintf() calls inside the kernel.\n\nSigned-off-by: Douglas W Jones \u003cjones@cs.uiowa.edu\u003e\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b39a734097d5095d63eb9c709a6aaf965633bb01",
      "tree": "78afaae4c1229163279b902bacf99445dc16e767",
      "parents": [
        "4b4e5a1411c8b970983fb6022db1da31c4f5c301"
      ],
      "author": {
        "name": "Denis Vlasenko",
        "email": "vda.linux@googlemail.com",
        "time": "Sun Jul 15 23:41:54 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 09:05:52 2007 -0700"
      },
      "message": "vsprintf.c: optimizing, part 1 (easy and obvious stuff)\n\n* There is no point in having full \"0...9a...z\" constant vector,\n  if we use only \"0...9a...f\" (and \"x\" for \"0x\").\n\n* Post-decrement usually needs a few more instructions, so use\n  pre decrement instead where makes sense:\n-       while (i \u003c precision--) {\n+       while (i \u003c\u003d --precision) {\n\n* if base !\u003d 10 (\u003d\u003e base 8 or 16), we can avoid using division\n  in a loop and use mask/shift, obtaining much faster conversion.\n  (More complex optimization for base 10 case is in the second patch).\n\nOverall, size vsprintf.o shows ~80 bytes smaller text section\nwith this patch applied.\n\nSigned-off-by: Douglas W Jones \u003cjones@cs.uiowa.edu\u003e\nSigned-off-by: Denys Vlasenko \u003cvda.linux@googlemail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c6b40d16d1cfa1a01158049bb887a9bbe48ef7ba",
      "tree": "72eac6e26f928780fe722ad45ff6eeb6807d2356",
      "parents": [
        "757dea93e136b219af09d3cd56a81063fdbdef1a"
      ],
      "author": {
        "name": "Johannes Berg",
        "email": "johannes@sipsolutions.net",
        "time": "Tue May 08 00:27:20 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Tue May 08 11:15:05 2007 -0700"
      },
      "message": "fix sscanf %n match at end of input string\n\nI was playing with some code that sometimes got a string where a %n\nmatch should have been done where the input string ended, for example\nlike this:\n\n  sscanf(\"abc123\", \"abc%d%n\", \u0026a, \u0026n);  /* doesn\u0027t work */\n  sscanf(\"abc123a\", \"abc%d%n\", \u0026a, \u0026n); /* works */\n\nHowever, the scanf function in the kernel doesn\u0027t convert the %n in that\ncase because it has already matched the complete input after %d and just\ncompletely stops matching then. This patch fixes that.\n\n[akpm@linux-foundation.org: cleanups]\nSigned-off-by: Johannes Berg \u003cjohannes@sipsolutions.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "11443ec7d9286dd25663516436a14edfb5f43857",
      "tree": "121137dbd7b323cd5dce71cbb8da8119a642b731",
      "parents": [
        "9684e51cd157607f0727c1550e7df6e31de40808"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Mon Apr 30 15:09:56 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Apr 30 16:40:40 2007 -0700"
      },
      "message": "Add kvasprintf()\n\nAdd a kvasprintf() function to complement kasprintf().\n\nNo in-tree users yet, but I have some coming up.\n\n[akpm@linux-foundation.org: EXPORT it]\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: Keir Fraser \u003ckeir@xensource.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ea6f3281a145d16ed53e88b0627f78d5cde6068f",
      "tree": "75aa9f225b73cb7bdcca87e42462f03c0d8f612e",
      "parents": [
        "91dd26ad2c04a1bbf179df4dca98f34db2f70716"
      ],
      "author": {
        "name": "Martin Peschke",
        "email": "mp3@de.ibm.com",
        "time": "Mon Feb 12 00:51:56 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Feb 12 09:48:28 2007 -0800"
      },
      "message": "[PATCH] scnprintf(): fix a comment\n\nThe return value of scnprintf() never exceeds @size.\n\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "72fd4a35a824331d7a0f4168d7576502d95d34b3",
      "tree": "be27880bc36b7f62e8044a88b8744a35c5317714",
      "parents": [
        "262086cf5b5343c2b81c97b1c606058e921859df"
      ],
      "author": {
        "name": "Robert P. J. Day",
        "email": "rpjday@mindspring.com",
        "time": "Sat Feb 10 01:45:59 2007 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Feb 11 10:51:32 2007 -0800"
      },
      "message": "[PATCH] Numerous fixes to kernel-doc info in source files.\n\nA variety of (mostly) innocuous fixes to the embedded kernel-doc content in\nsource files, including:\n\n  * make multi-line initial descriptions single line\n  * denote some function names, constants and structs as such\n  * change erroneous opening \u0027/*\u0027 to \u0027/**\u0027 in a few places\n  * reword some text for clarity\n\nSigned-off-by: Robert P. J. Day \u003crpjday@mindspring.com\u003e\nCc: \"Randy.Dunlap\" \u003crdunlap@xenotime.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0a6047eef1c465c38aacfbdab193161b3f0cd144",
      "tree": "3347213ad162a9570d6f4c5cffa1f8db7abb7cba",
      "parents": [
        "27d68a36c4f1ca2fc6be82620843493462c08c51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 17:09:34 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Wed Jun 28 17:09:34 2006 -0700"
      },
      "message": "Fix vsnprintf off-by-one bug\n\nThe recent vsnprintf() fix introduced an off-by-one, and it\u0027s now\npossible to overrun the target buffer by one byte.\n\nThe \"end\" pointer points to past the end of the buffer, so if we\nhave to truncate the result, it needs to be done though \"end[-1]\".\n\n[ This is just an alternate and simpler patch to one proposed by Andrew\n  and Jeremy, who actually noticed the problem ]\n\nAcked-by: Andrew Morton \u003cakpm@osdl.org\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "e905914f96e11862b130dd229f73045dad9a34e8",
      "tree": "0e7cff381970e2439de521c3d42ded8c49f69354",
      "parents": [
        "f796937a062c7aeb44cd0e75e1586c8543634a7d"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Sun Jun 25 05:49:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:23 2006 -0700"
      },
      "message": "[PATCH] Implement kasprintf\n\nImplement kasprintf, a kernel version of asprintf.  This allocates the\nmemory required for the formatted string, including the trailing \u0027\\0\u0027.\nReturns NULL on allocation failure.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "f796937a062c7aeb44cd0e75e1586c8543634a7d",
      "tree": "c3cfcbb27e291621e31cff71288f3e82d8b149a8",
      "parents": [
        "891c668b90ded38cec36f0852c4983573597170d"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@xensource.com",
        "time": "Sun Jun 25 05:49:17 2006 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Jun 25 10:01:23 2006 -0700"
      },
      "message": "[PATCH] Fix bounds check in vsnprintf, to allow for a 0 size and NULL buffer\n\nThis change allows callers to use a 0-byte buffer and a NULL buffer pointer\nwith vsnprintf, so it can be used to determine how large the resulting\nformatted string will be.\n\nPreviously the code effectively treated a size of 0 as a size of 4G (on\n32-bit systems), with other checks preventing it from actually trying to\nemit the string - but the terminal \\0 would still be written, which would\ncrash if the buffer is NULL.\n\nThis change changes the boundary check so that \u0027end\u0027 points to the putative\nlocation of the terminal \u0027\\0\u0027, which is only written if size \u003e 0.\n\nvsnprintf still allows the buffer size to be set very large, to allow\nunbounded buffer sizes (to implement sprintf, etc).\n\n[akpm@osdl.org: fix long-vs-longlong confusion]\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy@xensource.com\u003e\nSigned-off-by: Chris Wright \u003cchrisw@sous-sol.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "4e57b6817880946a3a78d5d8cad1ace363f7e449",
      "tree": "b6b5f3f9e8e52cc55d98239a4992e72e983c8fa4",
      "parents": [
        "b0423a0d9cc836b2c3d796623cd19236bfedfe63"
      ],
      "author": {
        "name": "Tim Schmielau",
        "email": "tim@physik3.uni-rostock.de",
        "time": "Sun Oct 30 15:03:48 2005 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Sun Oct 30 17:37:32 2005 -0800"
      },
      "message": "[PATCH] fix missing includes\n\nI recently picked up my older work to remove unnecessary #includes of\nsched.h, starting from a patch by Dave Jones to not include sched.h\nfrom module.h. This reduces the number of indirect includes of sched.h\nby ~300. Another ~400 pointless direct includes can be removed after\nthis disentangling (patch to follow later).\nHowever, quite a few indirect includes need to be fixed up for this.\n\nIn order to feed the patches through -mm with as little disturbance as\npossible, I\u0027ve split out the fixes I accumulated up to now (complete for\ni386 and x86_64, more archs to follow later) and post them before the real\npatch.  This way this large part of the patch is kept simple with only\nadding #includes, and all hunks are independent of each other.  So if any\nhunk rejects or gets in the way of other patches, just drop it.  My scripts\nwill pick it up again in the next round.\n\nSigned-off-by: Tim Schmielau \u003ctim@physik3.uni-rostock.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "8032230694ec56c168a1404c67a54d281536cbed",
      "tree": "b3079a0781ab60de50cf4a0cc69e073985c165b4",
      "parents": [
        "acd3bd82c08d1a399760605706a86821148243d9"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@www.linux.org.uk",
        "time": "Tue Aug 23 22:48:17 2005 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@g5.osdl.org",
        "time": "Tue Aug 23 18:43:46 2005 -0700"
      },
      "message": "[PATCH] %t... in vsnprintf\n\nhandling of %t... (ptrdiff_t) in vsnprintf\n\nSigned-off-by: Al Viro \u003cviro@parcelfarce.linux.theplanet.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n"
    },
    {
      "commit": "1da177e4c3f41524e886b7f1b8a0c1fc7321cac2",
      "tree": "0bba044c4ce775e45a88a51686b5d9f90697ea9d",
      "parents": [],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@ppc970.osdl.org",
        "time": "Sat Apr 16 15:20:36 2005 -0700"
      },
      "message": "Linux-2.6.12-rc2\n\nInitial git repository build. I\u0027m not bothering with the full history,\neven though we have it. We can create a separate \"historical\" git\narchive of that later if we want to, and in the meantime it\u0027s about\n3.2GB when imported into git - space that would just make the early\ngit days unnecessarily complicated, when we don\u0027t have a lot of good\ninfrastructure for it.\n\nLet it rip!\n"
    }
  ]
}
