<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in sha3_generic.c</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>5f60d5f6 - move asm/unaligned.h to linux/unaligned.h</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#5f60d5f6</link>
        <description>move asm/unaligned.h to linux/unaligned.hasm/unaligned.h is always an include of asm-generic/unaligned.h;might as well move that thing to linux/unaligned.h and includethat - there&apos;s nothing arch-specific in that header.auto-generated by the following:for i in `git grep -l -w asm/unaligned.h`; do	sed -i -e &quot;s/asm\/unaligned.h/linux\/unaligned.h/&quot; $idonefor i in `git grep -l -w asm-generic/unaligned.h`; do	sed -i -e &quot;s/asm-generic\/unaligned.h/linux\/unaligned.h/&quot; $idonegit mv include/asm-generic/unaligned.h include/linux/unaligned.hgit mv tools/include/asm-generic/unaligned.h tools/include/linux/unaligned.hsed -i -e &quot;/unaligned.h/d&quot; include/asm-generic/Kbuildsed -i -e &quot;s/__ASM_GENERIC/__LINUX/&quot; include/linux/unaligned.h tools/include/linux/unaligned.h

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Tue, 01 Oct 2024 19:35:57 +0000</pubDate>
        <dc:creator>Al Viro &lt;viro@zeniv.linux.org.uk&gt;</dc:creator>
    </item>
<item>
        <title>9332a9e7 - crypto: Replace HTTP links with HTTPS ones</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#9332a9e7</link>
        <description>crypto: Replace HTTP links with HTTPS onesRationale:Reduces attack surface on kernel devs opening the links for MITMas HTTPS traffic is much harder to manipulate.Deterministic algorithm:For each file:  If not .svg:    For each line:      If doesn&apos;t contain `\bxmlns\b`:        For each link, `\bhttp://[^# \t\r\n]*(?:\w|/)`:	  If neither `\bgnu\.org/license`, nor `\bmozilla\.org/MPL\b`:            If both the HTTP and HTTPS versions            return 200 OK and serve the same content:              Replace HTTP with HTTPS.Signed-off-by: Alexander A. Klimov &lt;grandmaster@al2klimov.de&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Sun, 19 Jul 2020 16:49:59 +0000</pubDate>
        <dc:creator>Alexander A. Klimov &lt;grandmaster@al2klimov.de&gt;</dc:creator>
    </item>
<item>
        <title>2874c5fd - treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#2874c5fd</link>
        <description>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152Based on 1 normalized pattern(s):  this program is free software you can redistribute it and or modify  it under the terms of the gnu general public license as published by  the free software foundation either version 2 of the license or at  your option any later versionextracted by the scancode license scanner the SPDX license identifier  GPL-2.0-or-laterhas been chosen to replace the boilerplate/reference in 3029 file(s).Signed-off-by: Thomas Gleixner &lt;tglx@linutronix.de&gt;Reviewed-by: Allison Randal &lt;allison@lohutok.net&gt;Cc: linux-spdx@vger.kernel.orgLink: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.deSigned-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Mon, 27 May 2019 06:55:01 +0000</pubDate>
        <dc:creator>Thomas Gleixner &lt;tglx@linutronix.de&gt;</dc:creator>
    </item>
<item>
        <title>c4741b23 - crypto: run initcalls for generic implementations earlier</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#c4741b23</link>
        <description>crypto: run initcalls for generic implementations earlierUse subsys_initcall for registration of all templates and genericalgorithm implementations, rather than module_init.  Then changecryptomgr to use arch_initcall, to place it before the subsys_initcalls.This is needed so that when both a generic and optimized implementationof an algorithm are built into the kernel (not loadable modules), thegeneric implementation is registered before the optimized one.Otherwise, the self-tests for the optimized implementation are unable toallocate the generic implementation for the new comparison fuzz tests.Note that on arm, a side effect of this change is that self-tests forgeneric implementations may run before the unaligned access handler hasbeen installed.  So, unaligned accesses will crash the kernel.  This isarguably a good thing as it makes it easier to detect that type of bug.Signed-off-by: Eric Biggers &lt;ebiggers@google.com&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Fri, 12 Apr 2019 04:57:42 +0000</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>e50944e2 - crypto: shash - remove useless setting of type flags</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#e50944e2</link>
        <description>crypto: shash - remove useless setting of type flagsMany shash algorithms set .cra_flags = CRYPTO_ALG_TYPE_SHASH.  But thisis redundant with the C structure type (&apos;struct shash_alg&apos;), andcrypto_register_shash() already sets the type flag automatically,clearing any type flag that was already there.  Apparently the uselessassignment has just been copy+pasted around.So, remove the useless assignment from all the shash algorithms.This patch shouldn&apos;t change any actual behavior.Signed-off-by: Eric Biggers &lt;ebiggers@google.com&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Sat, 30 Jun 2018 22:16:11 +0000</pubDate>
        <dc:creator>Eric Biggers &lt;ebiggers@google.com&gt;</dc:creator>
    </item>
<item>
        <title>f044a84e - crypto: don&apos;t optimize keccakf()</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#f044a84e</link>
        <description>crypto: don&apos;t optimize keccakf()keccakf() is the only function in kernel that uses __optimize() macro.__optimize() breaks frame pointer unwinder as optimized code uses RBP,and amusingly this always lead to degraded performance as gcc does notinline across different optimizations levels, so keccakf() wasn&apos;t inlinedinto its callers and keccakf_round() wasn&apos;t inlined into keccakf().Drop __optimize() to resolve both problems.Signed-off-by: Dmitry Vyukov &lt;dvyukov@google.com&gt;Fixes: 83dee2ce1ae7 (&quot;crypto: sha3-generic - rewrite KECCAK transform to help the compiler optimize&quot;)Reported-by: syzbot+37035ccfa9a0a017ffcf@syzkaller.appspotmail.comReported-by: syzbot+e073e4740cfbb3ae200b@syzkaller.appspotmail.comCc: linux-crypto@vger.kernel.orgCc: &quot;David S. Miller&quot; &lt;davem@davemloft.net&gt;Cc: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;Cc: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Acked-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Fri, 08 Jun 2018 09:53:41 +0000</pubDate>
        <dc:creator>Dmitry Vyukov &lt;dvyukov@google.com&gt;</dc:creator>
    </item>
<item>
        <title>739d875d - mn10300: Remove the architecture</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#739d875d</link>
        <description>mn10300: Remove the architectureRemove the MN10300 arch as the hardware is defunct.Suggested-by: Arnd Bergmann &lt;arnd@arndb.de&gt;Signed-off-by: David Howells &lt;dhowells@redhat.com&gt;cc: Masahiro Yamada &lt;yamada.masahiro@socionext.com&gt;cc: linux-am33-list@redhat.comSigned-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Thu, 08 Mar 2018 09:48:46 +0000</pubDate>
        <dc:creator>David Howells &lt;dhowells@redhat.com&gt;</dc:creator>
    </item>
<item>
        <title>ba916b6a - crypto: sha3-generic - Use __optimize to support old compilers</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#ba916b6a</link>
        <description>crypto: sha3-generic - Use __optimize to support old compilersWith gcc-4.1.2:    crypto/sha3_generic.c:39: warning: &#8216;__optimize__&#8217; attribute directive ignoredUse the newly introduced __optimize macro to fix this.Fixes: 83dee2ce1ae791c3 (&quot;crypto: sha3-generic - rewrite KECCAK transform to help the compiler optimize&quot;)Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;Acked-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Thu, 01 Feb 2018 10:22:00 +0000</pubDate>
        <dc:creator>Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;</dc:creator>
    </item>
<item>
        <title>4767b9ad - crypto: sha3-generic - deal with oversize stack frames</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#4767b9ad</link>
        <description>crypto: sha3-generic - deal with oversize stack framesAs reported by kbuild test robot, the optimized SHA3 C implementationcompiles to mn10300 code that uses a disproportionate amount of stackspace, i.e.,  crypto/sha3_generic.c: In function &apos;keccakf&apos;:  crypto/sha3_generic.c:147:1: warning: the frame size of 1232 bytes is larger than 1024 bytes [-Wframe-larger-than=]As kindly diagnosed by Arnd, this does not only occur when building forthe mn10300 architecture (which is what the report was about) but alsofor h8300, and builds for other 32-bit architectures show an increase instack space utilization as well.Given that SHA3 operates on 64-bit quantities, and keeps a state matrixof 25 64-bit words, it is not surprising that 32-bit architectures withfew general purpose registers are impacted the most by this, and it istherefore reasonable to implement a workaround that distinguishes between32-bit and 64-bit architectures.Arnd figured out that taking the round calculation out of the loop, andinlining it explicitly but only on 64-bit architectures preserves mostof the performance gain achieved by the rewrite, and also gets rid ofthe excessive use of stack space.Reported-by: kbuild test robot &lt;fengguang.wu@intel.com&gt;Suggested-by: Arnd Bergmann &lt;arnd@arndb.de&gt;Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Sat, 27 Jan 2018 09:18:32 +0000</pubDate>
        <dc:creator>Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>6657674b - crypto: sha3-generic - export init/update/final routines</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#6657674b</link>
        <description>crypto: sha3-generic - export init/update/final routinesTo allow accelerated implementations to fall back to the genericroutines, e.g., in contexts where a SIMD based implementation isnot allowed to run, expose the generic SHA3 init/update/finalroutines to other modules.Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Fri, 19 Jan 2018 12:04:36 +0000</pubDate>
        <dc:creator>Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>beeb504a - crypto: sha3-generic - simplify code</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#beeb504a</link>
        <description>crypto: sha3-generic - simplify codeIn preparation of exposing the generic SHA3 implementation to otherversions as a fallback, simplify the code, and remove an inconsistencyin the output handling (endian swabbing rsizw words of state beforewriting the output does not make sense)Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Fri, 19 Jan 2018 12:04:35 +0000</pubDate>
        <dc:creator>Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>83dee2ce - crypto: sha3-generic - rewrite KECCAK transform to help the compiler optimize</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#83dee2ce</link>
        <description>crypto: sha3-generic - rewrite KECCAK transform to help the compiler optimizeThe way the KECCAK transform is currently coded involves many referencesinto the state array using indexes that are calculated at runtime usingsimple but non-trivial arithmetic. This forces the compiler to treat thestate matrix as an array in memory rather than keep it in registers,which results in poor performance.So instead, let&apos;s rephrase the algorithm using fixed array indexes only.This helps the compiler keep the state matrix in registers, resultingin the following speedup (SHA3-256 performance in cycles per byte):                                            before   after   speedup  Intel Core i7 @ 2.0 GHz (2.9 turbo)        100.6    35.7     2.8x  Cortex-A57 @ 2.0 GHz (64-bit mode)         101.6    12.7     8.0x  Cortex-A53 @ 1.0 GHz                       224.4    15.8    14.2x  Cortex-A57 @ 2.0 GHz (32-bit mode)         201.8    63.0     3.2xSigned-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Fri, 19 Jan 2018 12:04:34 +0000</pubDate>
        <dc:creator>Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>c013cee9 - crypto: sha3-generic - fixes for alignment and big endian operation</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#c013cee9</link>
        <description>crypto: sha3-generic - fixes for alignment and big endian operationEnsure that the input is byte swabbed before injecting it into theSHA3 transform. Use the get_unaligned() accessor for this so thatwe don&apos;t perform unaligned access inadvertently on architecturesthat do not support that.Cc: &lt;stable@vger.kernel.org&gt;Fixes: 53964b9ee63b7075 (&quot;crypto: sha3 - Add SHA-3 hash algorithm&quot;)Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Fri, 19 Jan 2018 12:04:33 +0000</pubDate>
        <dc:creator>Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;</dc:creator>
    </item>
<item>
        <title>f743e70e - crypto: sha3 - Add missing ULL suffixes for 64-bit constants</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#f743e70e</link>
        <description>crypto: sha3 - Add missing ULL suffixes for 64-bit constantsOn 32-bit (e.g. with m68k-linux-gnu-gcc-4.1):    crypto/sha3_generic.c:27: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:28: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:29: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:29: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:31: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:31: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:32: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:32: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:32: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:33: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:33: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:34: warning: integer constant is too large for &#8216;long&#8217; type    crypto/sha3_generic.c:34: warning: integer constant is too large for &#8216;long&#8217; typeFixes: 53964b9ee63b7075 (&quot;crypto: sha3 - Add SHA-3 hash algorithm&quot;)Signed-off-by: Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Wed, 03 Aug 2016 17:37:03 +0000</pubDate>
        <dc:creator>Geert Uytterhoeven &lt;geert@linux-m68k.org&gt;</dc:creator>
    </item>
<item>
        <title>53964b9e - crypto: sha3 - Add SHA-3 hash algorithm</title>
        <link>http://172.16.0.5:8080/history/linux-6.15/crypto/sha3_generic.c#53964b9e</link>
        <description>crypto: sha3 - Add SHA-3 hash algorithmThis patch adds the implementation of SHA3 algorithmin software and it&apos;s based on original implementationpushed in patch https://lwn.net/Articles/518415/ withadditional changes to match the padding rules specifiedin SHA-3 specification.Signed-off-by: Jeff Garzik &lt;jgarzik@redhat.com&gt;Signed-off-by: Raveendra Padasalagi &lt;raveendra.padasalagi@broadcom.com&gt;Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;

            List of files:
            /linux-6.15/crypto/sha3_generic.c</description>
        <pubDate>Fri, 17 Jun 2016 05:00:35 +0000</pubDate>
        <dc:creator>Jeff Garzik &lt;jeff@garzik.org&gt;</dc:creator>
    </item>
</channel>
</rss>
