)]}'
{
  "log": [
    {
      "commit": "a8d7ac279743077965afeca0c9ed748507b68e89",
      "tree": "d5bf192117944ba3c461fcd586c470c0713f3191",
      "parents": [
        "a996996dd75a9086b12d1cb4010f26e1748993f0"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Feb 01 09:17:56 2010 +1100"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Feb 02 06:50:25 2010 +1100"
      },
      "message": "crypto: padlock-sha - Add import/export support\n\nAs the padlock driver for SHA uses a software fallback to perform\npartial hashing, it must implement custom import/export functions.\nOtherwise hmac which depends on import/export for prehashing will\nnot work with padlock-sha.\n\nReported-by: Wolfgang Walter \u003cwolfgang.walter@stwm.de\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "4c6ab3ee4cdb86cbd4e9400dd22fad7701cbe795",
      "tree": "b610dde153d80babcb01d84fec35134d0c08f34d",
      "parents": [
        "78f28b7c555359c67c2a0d23f7436e915329421e"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Sep 21 23:21:53 2009 -0700"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Mon Sep 21 23:21:53 2009 -0700"
      },
      "message": "crypto: padlock-sha - Fix stack alignment\n\nThe PadLock hardware requires the output buffer for SHA to be\n128-bit aligned.  We currentply place the buffer on the stack,\nand ask gcc to align it to 128 bits.  That doesn\u0027t work on i386\nbecause the kernel stack is only aligned to 32 bits.  This patch\nchanges the code to align the buffer by hand so that the hardware\ndoesn\u0027t fault on unaligned buffers.\n\nReported-by: Séguier Régis \u003crguier@e-teleport.net\u003e\nTested-by: Séguier Régis \u003crguier@e-teleport.net\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e9b25f16cda88b33fe15b30c009912e6c471edda",
      "tree": "088b467b09f050bf7d6cc867d0ce8190d9e2ee4b",
      "parents": [
        "cbc86b9161b40f95caee0e56381b68956fc28cc4"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 16 10:33:27 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 16 10:33:27 2009 +0800"
      },
      "message": "crypto: padlock - Fix hashing of partial blocks\n\nWhen we encounter partial blocks in finup, we\u0027ll invoke the xsha\ninstruction with a bogus count that is not a multiple of the block\nsize.  This patch fixes it.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "faae890883624e14a328863eafabf54a36698774",
      "tree": "647d5c14ed5ced5e20792a591a79b0c7a207fdcb",
      "parents": [
        "b5ebd44eb7559ea6135d536bafd02323d2ef0547"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 15 18:37:48 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Jul 15 18:37:48 2009 +0800"
      },
      "message": "crypto: padlock - Fix compile error on i386\n\nThe previous change to allow hashing from states other than the\ninitial broke compilation on i386 because the inline assembly\ntried to squeeze a u64 into a 32-bit register.  As we\u0027ve already\nchecked for 32-bit overflows we can simply truncate it to u32,\nor unsigned long so that we don\u0027t truncate at all on x86-64.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "bbbee4679afd7c29a58087f133ffe241597f3144",
      "tree": "b49da1e7b303948fc1d39580df375071c1703494",
      "parents": [
        "113adefc73c291f93f875fe515a46d8f76252fff"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jul 11 18:16:16 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Tue Jul 14 12:58:02 2009 +0800"
      },
      "message": "crypto: padlock - Switch sha to shash\n\nThis patch converts the padlock-sha implementation to shash.\nIn doing so the existing mechanism of storing the data until\nfinal is no longer viable as we do not have a way of allocating\ndata in crypto_shash_init and then reliably freeing it.\n\nThis is just as well because a better way of handling the problem\nis to hash everything but the last chunk using normal sha code\nand then provide the intermediate result to the padlock device.\n\nThis is good enough because the primary application of padlock-sha\nis IPsec and there the data is laid out in the form of an hmac\nheader followed by the rest of the packet.  In essence we can\nprovide all the data to the padlock as the hmac header only needs\nto be hashed once.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "7d024608265eb815ae4ce1e5da097ec9d800dda4",
      "tree": "d6c4418ecc18718ffdbd406116c8291b4ec97e42",
      "parents": [
        "f63559bef380a95093408691c1081f07da755b74"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Fri Jul 10 17:26:44 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Jul 11 18:23:35 2009 +0800"
      },
      "message": "crypto: padlock - Use shash fallback for sha\n\nThis patch changes padlock sha fallback to shash instead of hash.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "a760a6656e6f00bb0144a42a048cf0266646e22c",
      "tree": "51fffed59af5edcdd550f4517a775cba02a3d21c",
      "parents": [
        "bb402f16ecf9bcdb944b8fa730f0e43cae519673"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Feb 26 14:06:31 2009 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Feb 26 14:06:31 2009 +0800"
      },
      "message": "crypto: api - Fix module load deadlock with fallback algorithms\n\nWith the mandatory algorithm testing at registration, we have\nnow created a deadlock with algorithms requiring fallbacks.\nThis can happen if the module containing the algorithm requiring\nfallback is loaded first, without the fallback module being loaded\nfirst.  The system will then try to test the new algorithm, find\nthat it needs to load a fallback, and then try to load that.\n\nAs both algorithms share the same module alias, it can attempt\nto load the original algorithm again and block indefinitely.\n\nAs algorithms requiring fallbacks are a special case, we can fix\nthis by giving them a different module alias than the rest.  Then\nit\u0027s just a matter of using the right aliases according to what\nalgorithms we\u0027re trying to find.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "e49140120c88eb99db1a9172d9ac224c0f2bbdd2",
      "tree": "2436693f64f185f45d67d4299b879091b2301f4b",
      "parents": [
        "318e5313923197e71a94f7b18835151649384b7f"
      ],
      "author": {
        "name": "Suresh Siddha",
        "email": "suresh.b.siddha@intel.com",
        "time": "Wed Aug 13 22:02:26 2008 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Wed Aug 13 22:02:26 2008 +1000"
      },
      "message": "crypto: padlock - fix VIA PadLock instruction usage with irq_ts_save/restore()\n\nWolfgang Walter reported this oops on his via C3 using padlock for\nAES-encryption:\n\n##################################################################\n\nBUG: unable to handle kernel NULL pointer dereference at 000001f0\nIP: [\u003cc01028c5\u003e] __switch_to+0x30/0x117\n*pde \u003d 00000000\nOops: 0002 [#1] PREEMPT\nModules linked in:\n\nPid: 2071, comm: sleep Not tainted (2.6.26 #11)\nEIP: 0060:[\u003cc01028c5\u003e] EFLAGS: 00010002 CPU: 0\nEIP is at __switch_to+0x30/0x117\nEAX: 00000000 EBX: c0493300 ECX: dc48dd00 EDX: c0493300\nESI: dc48dd00 EDI: c0493530 EBP: c04cff8c ESP: c04cff7c\n DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 0068\nProcess sleep (pid: 2071, ti\u003dc04ce000 task\u003ddc48dd00 task.ti\u003dd2fe6000)\nStack: dc48df30 c0493300 00000000 00000000 d2fe7f44 c03b5b43 c04cffc8 00000046\n       c0131856 0000005a dc472d3c c0493300 c0493470 d983ae00 00002696 00000000\n       c0239f54 00000000 c04c4000 c04cffd8 c01025fe c04f3740 00049800 c04cffe0\nCall Trace:\n [\u003cc03b5b43\u003e] ? schedule+0x285/0x2ff\n [\u003cc0131856\u003e] ? pm_qos_requirement+0x3c/0x53\n [\u003cc0239f54\u003e] ? acpi_processor_idle+0x0/0x434\n [\u003cc01025fe\u003e] ? cpu_idle+0x73/0x7f\n [\u003cc03a4dcd\u003e] ? rest_init+0x61/0x63\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nWolfgang also found out that adding kernel_fpu_begin() and kernel_fpu_end()\naround the padlock instructions fix the oops.\n\nSuresh wrote:\n\nThese padlock instructions though don\u0027t use/touch SSE registers, but it behaves\nsimilar to other SSE instructions. For example, it might cause DNA faults\nwhen cr0.ts is set. While this is a spurious DNA trap, it might cause\noops with the recent fpu code changes.\n\nThis is the code sequence  that is probably causing this problem:\n\na) new app is getting exec\u0027d and it is somewhere in between\n   start_thread() and flush_old_exec() in the load_xyz_binary()\n\nb) At pont \"a\", task\u0027s fpu state (like TS_USEDFPU, used_math() etc) is\n   cleared.\n\nc) Now we get an interrupt/softirq which starts using these encrypt/decrypt\n   routines in the network stack. This generates a math fault (as\n   cr0.ts is \u00271\u0027) which sets TS_USEDFPU and restores the math that is\n   in the task\u0027s xstate.\n\nd) Return to exec code path, which does start_thread() which does\n   free_thread_xstate() and sets xstate pointer to NULL while\n   the TS_USEDFPU is still set.\n\ne) At the next context switch from the new exec\u0027d task to another task,\n   we have a scenarios where TS_USEDFPU is set but xstate pointer is null.\n   This can cause an oops during unlazy_fpu() in __switch_to()\n\nNow:\n\n1) This should happen with or with out pre-emption. Viro also encountered\n   similar problem with out CONFIG_PREEMPT.\n\n2) kernel_fpu_begin() and kernel_fpu_end() will fix this problem, because\n   kernel_fpu_begin() will manually do a clts() and won\u0027t run in to the\n   situation of setting TS_USEDFPU in step \"c\" above.\n\n3) This was working before the fpu changes, because its a spurious\n   math fault  which doesn\u0027t corrupt any fpu/sse registers and the task\u0027s\n   math state was always in an allocated state.\n\nWith out the recent lazy fpu allocation changes, while we don\u0027t see oops,\nthere is a possible race still present in older kernels(for example,\nwhile kernel is using kernel_fpu_begin() in some optimized clear/copy\npage and an interrupt/softirq happens which uses these padlock\ninstructions generating DNA fault).\n\nThis is the failing scenario that existed even before the lazy fpu allocation\nchanges:\n\n0. CPU\u0027s TS flag is set\n\n1. kernel using FPU in some optimized copy  routine and while doing\nkernel_fpu_begin() takes an interrupt just before doing clts()\n\n2. Takes an interrupt and ipsec uses padlock instruction. And we\ntake a DNA fault as TS flag is still set.\n\n3. We handle the DNA fault and set TS_USEDFPU and clear cr0.ts\n\n4. We complete the padlock routine\n\n5. Go back to step-1, which resumes clts() in kernel_fpu_begin(), finishes\nthe optimized copy routine and does kernel_fpu_end(). At this point,\nwe have cr0.ts again set to \u00271\u0027 but the task\u0027s TS_USEFPU is stilll\nset and not cleared.\n\n6. Now kernel resumes its user operation. And at the next context\nswitch, kernel sees it has do a FP save as TS_USEDFPU is still set\nand then will do a unlazy_fpu() in __switch_to(). unlazy_fpu()\nwill take a DNA fault, as cr0.ts is \u00271\u0027 and now, because we are\nin __switch_to(), math_state_restore() will get confused and will\nrestore the next task\u0027s FP state and will save it in prev tasks\u0027s FP state.\nRemember, in __switch_to() we are already on the stack of the next task\nbut take a DNA fault for the prev task.\n\nThis causes the fpu leakage.\n\nFix the padlock instruction usage by calling them inside the\ncontext of new routines irq_ts_save/restore(), which clear/restore cr0.ts\nmanually in the interrupt context. This will not generate spurious DNA\nin the  context of the interrupt which will fix the oops encountered and\nthe possible FPU leakage issue.\n\nReported-and-bisected-by: Wolfgang Walter \u003cwolfgang.walter@stwm.de\u003e\nSigned-off-by: Suresh Siddha \u003csuresh.b.siddha@intel.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "b43e726b32b85713c7c56b6545cf71c2b02b5e1a",
      "tree": "dc49a97136922ac35c6514639bb18ac719cafb91",
      "parents": [
        "4b22f0ddb6564210c9ded7ba25b2a1007733e784"
      ],
      "author": {
        "name": "Jeremy Katz",
        "email": "katzj@redhat.com",
        "time": "Thu Jul 03 19:03:31 2008 +0800"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Jul 10 20:35:16 2008 +0800"
      },
      "message": "crypto: padlock - Make module loading quieter when hardware isn\u0027t available\n\nWhen loading aes or sha256 via the module aliases, the padlock modules\nalso try to get loaded.  Make the error message for them not being\npresent only be a NOTICE rather than an ERROR so that use of \u0027quiet\u0027\nwill suppress the messages\n\nSigned-off-by: Jeremy Katz \u003ckatzj@redhat.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "68e3f5dd4db62619fdbe520d36c9ebf62e672256",
      "tree": "0a9b05227fc53cb72785a95298c643f5405fd7b4",
      "parents": [
        "a5a613a4291a8107008e4c40108a385cda71b08d"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Oct 27 00:52:07 2007 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sat Oct 27 00:52:07 2007 -0700"
      },
      "message": "[CRYPTO] users: Fix up scatterlist conversion errors\n\nThis patch fixes the errors made in the users of the crypto layer during\nthe sg_init_table conversion.  It also adds a few conversions that were\nmissing altogether.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "5265eeb2b036835021591173ac64e624baaff55c",
      "tree": "0263f8e8db4ead27b6e02f3200e3a1305bbf2080",
      "parents": [
        "ad5d27899fdbe7a66e57fdf1af883dbd7ff88dac"
      ],
      "author": {
        "name": "Jan Glauber",
        "email": "jang@de.ibm.com",
        "time": "Tue Oct 09 22:43:13 2007 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:50 2007 -0700"
      },
      "message": "[CRYPTO] sha: Add header file for SHA definitions\n\nThere are currently several SHA implementations that all define their own\ninitialization vectors and size values. Since this values are idential\nmove them to a header file under include/crypto.\n\nSigned-off-by: Jan Glauber \u003cjang@de.ibm.com\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "ad5d27899fdbe7a66e57fdf1af883dbd7ff88dac",
      "tree": "666a5809fd9a01e0798411b94962903c3431400c",
      "parents": [
        "f8246af005d56b73f4f04304fc5b6fd9878af4ef"
      ],
      "author": {
        "name": "Sebastian Siewior",
        "email": "sebastian@breakpoint.cc",
        "time": "Mon Oct 08 11:45:10 2007 +0800"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@sunset.davemloft.net",
        "time": "Wed Oct 10 16:55:50 2007 -0700"
      },
      "message": "[CRYPTO] sha: Load the SHA[1|256] module by an alias\n\nLoading the crypto algorithm by the alias instead of by module directly\nhas the advantage that all possible implementations of this algorithm\nare loaded automatically and the crypto API can choose the best one\ndepending on its priority.\n\nAdditionally it ensures that the generic implementation as well as the\nHW driver (if available) is loaded in case the HW driver needs the\ngeneric version as fallback in corner cases.\n\nAlso remove the probe for sha1 in padlock\u0027s init code.\n\nQuote from Herbert:\n  The probe is actually pointless since we can always probe when\n  the algorithm is actually used which does not lead to dead-locks\n  like this.\n\nSigned-off-by: Sebastian Siewior \u003csebastian@breakpoint.cc\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "6010439f47e6b308c031dad7d99686030ef942dd",
      "tree": "c59d65017014dec1f0c01e6372c7a92f3284a5e9",
      "parents": [
        "e4d5b79c661c7cfca9d8d5afd040a295f128d3cb"
      ],
      "author": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Sat Aug 26 18:34:10 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:46:22 2006 +1000"
      },
      "message": "[CRYPTO] padlock: Convert padlock-sha to use crypto_hash\n\nThis patch converts padlock-sha to use crypto_hash for its fallback.\nIt also changes the fallback selection to use selection by type instead\nof name.  This is done through the new CRYPTO_ALG_NEED_FALLBACK bit,\nwhich is set if and only if an algorithm needs a fallback of the same\ntype.\n\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "58ec4152895b96f047dcf5e490ee49b4c574dec3",
      "tree": "2cc6316aaf70ffd7c43ae9677f0ba35903b9de9d",
      "parents": [
        "5644bda5d6aa17a70b8842eb56365d501a5da159"
      ],
      "author": {
        "name": "Michal Ludvig",
        "email": "michal@logix.cz",
        "time": "Mon Jul 17 08:14:58 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:41:00 2006 +1000"
      },
      "message": "[CRYPTO] padlock-sha: TFMs don\u0027t need to be static\n\nTFMs are local variables. No need to declare them \nstatic. After all one is enough.\n\nSigned-off-by: Michal Ludvig \u003cmichal@logix.cz\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "cb17530b0a4e01bd595a7ac437467a1a9833a15c",
      "tree": "4d35d00a4827790e1aeca6ec4baeea299e45cc25",
      "parents": [
        "6c833275152b454d311f0e70b5e6bf028b4a2aaf"
      ],
      "author": {
        "name": "Adrian Bunk",
        "email": "bunk@stusta.de",
        "time": "Sat Jul 15 11:31:25 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:41:00 2006 +1000"
      },
      "message": "[CRYPTO] padlock-sha: Make 2 functions static\n\nThis patch makes two needlessly global functions static.\n\nSigned-off-by: Adrian Bunk \u003cbunk@stusta.de\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    },
    {
      "commit": "6c833275152b454d311f0e70b5e6bf028b4a2aaf",
      "tree": "a08d9d1057730c1c5dde31de1db0bd81810ee8d2",
      "parents": [
        "ccc17c34d676f116bd09dd36a3b01627bc6a2f8a"
      ],
      "author": {
        "name": "Michal Ludvig",
        "email": "michal@logix.cz",
        "time": "Wed Jul 12 12:29:38 2006 +1000"
      },
      "committer": {
        "name": "Herbert Xu",
        "email": "herbert@gondor.apana.org.au",
        "time": "Thu Sep 21 11:40:59 2006 +1000"
      },
      "message": "[CRYPTO] padlock: Driver for SHA1 / SHA256 algorithms\n\nSupport for SHA1 / SHA256 algorithms in VIA C7 processors.\n\nSigned-off-by: Michal Ludvig \u003cmichal@logix.cz\u003e\nSigned-off-by: Herbert Xu \u003cherbert@gondor.apana.org.au\u003e\n"
    }
  ]
}
