<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lwn.git/drivers/crypto/geode-aes.h, branch docs-5.10-warnings</title>
<subtitle>Linux kernel documentation tree maintained by Jonathan Corbet</subtitle>
<id>http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-5.10-warnings</id>
<link rel='self' href='http://mirrors.hust.edu.cn/git/lwn.git/atom?h=docs-5.10-warnings'/>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/'/>
<updated>2019-10-23T08:46:56+00:00</updated>
<entry>
<title>crypto: geode-aes - convert to skcipher API and make thread-safe</title>
<updated>2019-10-23T08:46:56+00:00</updated>
<author>
<name>Eric Biggers</name>
<email>ebiggers@google.com</email>
</author>
<published>2019-10-11T04:51:32+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=4549f7e5aa27ffc2cba63b5db8842a3b486f5688'/>
<id>urn:sha1:4549f7e5aa27ffc2cba63b5db8842a3b486f5688</id>
<content type='text'>
The geode AES driver is heavily broken because it stores per-request
state in the transform context.  So it will crash or produce the wrong
result if used by any of the many places in the kernel that issue
concurrent requests for the same transform object.

This driver is also implemented using the deprecated blkcipher API,
which makes it difficult to fix, and puts it among the drivers
preventing that API from being removed.

Convert this driver to use the skcipher API, and change it to not store
per-request state in the transform context.

Fixes: 9fe757b0cfce ("[PATCH] crypto: Add support for the Geode LX AES hardware")
Signed-off-by: Eric Biggers &lt;ebiggers@google.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: geode-aes - switch to skcipher for cbc(aes) fallback</title>
<updated>2019-10-10T12:42:45+00:00</updated>
<author>
<name>Ard Biesheuvel</name>
<email>ard.biesheuvel@linaro.org</email>
</author>
<published>2019-10-05T09:11:10+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=504582e8e40b90b8f8c58783e2d1e4f6a2b71a3a'/>
<id>urn:sha1:504582e8e40b90b8f8c58783e2d1e4f6a2b71a3a</id>
<content type='text'>
Commit 79c65d179a40e145 ("crypto: cbc - Convert to skcipher") updated
the generic CBC template wrapper from a blkcipher to a skcipher algo,
to get away from the deprecated blkcipher interface. However, as a side
effect, drivers that instantiate CBC transforms using the blkcipher as
a fallback no longer work, since skciphers can wrap blkciphers but not
the other way around. This broke the geode-aes driver.

So let's fix it by moving to the sync skcipher interface when allocating
the fallback. At the same time, align with the generic API for ECB and
CBC by rejecting inputs that are not a multiple of the AES block size.

Fixes: 79c65d179a40e145 ("crypto: cbc - Convert to skcipher")
Cc: &lt;stable@vger.kernel.org&gt; # v4.20+ ONLY
Signed-off-by: Ard Biesheuvel &lt;ard.biesheuvel@linaro.org&gt;
Signed-off-by: Florian Bezdeka &lt;florian@bezdeka.de&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152</title>
<updated>2019-05-30T18:26:32+00:00</updated>
<author>
<name>Thomas Gleixner</name>
<email>tglx@linutronix.de</email>
</author>
<published>2019-05-27T06:55:01+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=2874c5fd284268364ece81a7bd936f3c8168e567'/>
<id>urn:sha1:2874c5fd284268364ece81a7bd936f3c8168e567</id>
<content type='text'>
Based 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 version

extracted by the scancode license scanner the SPDX license identifier

  GPL-2.0-or-later

has 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.org
Link: https://lkml.kernel.org/r/20190527070032.746973796@linutronix.de
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>crypto: geode - Consistently use AES_KEYSIZE_128</title>
<updated>2014-05-22T13:03:12+00:00</updated>
<author>
<name>Marek Vasut</name>
<email>marex@denx.de</email>
</author>
<published>2014-05-14T09:36:40+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=2e1fc34b29cba8b0d0a0a16b1dd2304b3b44d4df'/>
<id>urn:sha1:2e1fc34b29cba8b0d0a0a16b1dd2304b3b44d4df</id>
<content type='text'>
Consistently use AES_KEYSIZE_128 instead of arbitrary defined value.

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Dmitry Kasatkin &lt;dmitry.kasatkin@nokia.com&gt;
Cc: Eric Bénard &lt;eric@eukrea.com&gt;
Cc: Jussi Kivilinna &lt;jussi.kivilinna@mbnet.fi&gt;
Cc: Kent Yoder &lt;key@linux.vnet.ibm.com&gt;
Cc: Michal Ludvig &lt;michal@logix.cz&gt;
Cc: Varun Wadekar &lt;vwadekar@nvidia.com&gt;
Cc: Vladimir Zapolskiy &lt;vladimir_zapolskiy@mentor.com&gt;
Cc: linux-geode@lists.infradead.org
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: geode - Kill AES_IV_LENGTH</title>
<updated>2014-05-22T13:03:11+00:00</updated>
<author>
<name>Marek Vasut</name>
<email>marex@denx.de</email>
</author>
<published>2014-05-14T09:36:39+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=bac79a2a6189d85f830b424c3b0414a4df5235c2'/>
<id>urn:sha1:bac79a2a6189d85f830b424c3b0414a4df5235c2</id>
<content type='text'>
The AES IV length is always 128bits, just use the define from aes.h

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Dmitry Kasatkin &lt;dmitry.kasatkin@nokia.com&gt;
Cc: Eric Bénard &lt;eric@eukrea.com&gt;
Cc: Jussi Kivilinna &lt;jussi.kivilinna@mbnet.fi&gt;
Cc: Kent Yoder &lt;key@linux.vnet.ibm.com&gt;
Cc: Michal Ludvig &lt;michal@logix.cz&gt;
Cc: Varun Wadekar &lt;vwadekar@nvidia.com&gt;
Cc: Vladimir Zapolskiy &lt;vladimir_zapolskiy@mentor.com&gt;
Cc: linux-geode@lists.infradead.org
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: geode - Kill AES_MIN_BLOCK_SIZE</title>
<updated>2014-05-22T13:03:11+00:00</updated>
<author>
<name>Marek Vasut</name>
<email>marex@denx.de</email>
</author>
<published>2014-05-14T09:36:38+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=b9d865e331290dab97136413a9cf3465f3391ddf'/>
<id>urn:sha1:b9d865e331290dab97136413a9cf3465f3391ddf</id>
<content type='text'>
This is actually defined in include/crypto/aes.h , no need to have
a a different symbol for the same thing twice.

Signed-off-by: Marek Vasut &lt;marex@denx.de&gt;
Cc: Benjamin Herrenschmidt &lt;benh@kernel.crashing.org&gt;
Cc: Dmitry Kasatkin &lt;dmitry.kasatkin@nokia.com&gt;
Cc: Eric Bénard &lt;eric@eukrea.com&gt;
Cc: Jussi Kivilinna &lt;jussi.kivilinna@mbnet.fi&gt;
Cc: Kent Yoder &lt;key@linux.vnet.ibm.com&gt;
Cc: Michal Ludvig &lt;michal@logix.cz&gt;
Cc: Varun Wadekar &lt;vwadekar@nvidia.com&gt;
Cc: Vladimir Zapolskiy &lt;vladimir_zapolskiy@mentor.com&gt;
Cc: linux-geode@lists.infradead.org
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[CRYPTO] geode: do not copy the IV too often</title>
<updated>2008-01-10T21:16:26+00:00</updated>
<author>
<name>Sebastian Siewior</name>
<email>sebastian@breakpoint.cc</email>
</author>
<published>2007-11-30T05:36:57+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=d2456c66236c15d6462f1ac751cdbd48a34e9704'/>
<id>urn:sha1:d2456c66236c15d6462f1ac751cdbd48a34e9704</id>
<content type='text'>
There is no reason to keep the IV in the private structre. Instead keep
just a pointer to make the patch smaller :)
This also remove a few memcpy()s

Signed-off-by: Sebastian Siewior &lt;sebastian@breakpoint.cc&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[CRYPTO] geode: Add fallback for unsupported modes</title>
<updated>2008-01-10T21:16:11+00:00</updated>
<author>
<name>Sebastian Siewior</name>
<email>sebastian@breakpoint.cc</email>
</author>
<published>2007-11-10T11:29:33+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=cd7c3bfe54270f41ac52be6b725a7194d99175b4'/>
<id>urn:sha1:cd7c3bfe54270f41ac52be6b725a7194d99175b4</id>
<content type='text'>
The Geode AES crypto engine supports only 128 bit long key. This
patch adds fallback for other key sizes which are required by the
AES standard.

Signed-off-by: Sebastian Siewior &lt;sebastian@breakpoint.cc&gt;
Acked-by: Jordan Crouse &lt;jordan.crouse@amd.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[CRYPTO] geode: move defines into a headerfile</title>
<updated>2008-01-10T21:16:05+00:00</updated>
<author>
<name>Sebastian Siewior</name>
<email>sebastian@breakpoint.cc</email>
</author>
<published>2007-10-21T08:21:25+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=b7a30da61adc5f252ee97b2a4f3fc23c9d06a08a'/>
<id>urn:sha1:b7a30da61adc5f252ee97b2a4f3fc23c9d06a08a</id>
<content type='text'>
This patch moves macros in geode-aes.c into geode-aes.h.

Signed-off-by: Sebastian Siewior &lt;sebastian@breakpoint.cc&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>[CRYPTO] geode: Fix in-place operations and set key</title>
<updated>2007-05-24T11:23:24+00:00</updated>
<author>
<name>Jordan Crouse</name>
<email>jordan.crouse@amd.com</email>
</author>
<published>2007-05-24T11:23:24+00:00</published>
<link rel='alternate' type='text/html' href='http://mirrors.hust.edu.cn/git/lwn.git/commit/?id=761e784673d79c8ea9befdad31e30c65e0d20b82'/>
<id>urn:sha1:761e784673d79c8ea9befdad31e30c65e0d20b82</id>
<content type='text'>
Allow in-place crypto operations.  Also remove the coherent user flag
(we use it automagically now), and by default use the user written
key rather then the HW hidden key - this makes crypto just work without
any special considerations, and thats OK, since its our only usage
model.

Signed-off-by: Jordan Crouse &lt;jordan.crouse@amd.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
</feed>
