<feed xmlns='http://www.w3.org/2005/Atom'>
<title>user/sven/linux.git/drivers/crypto/axis, branch v4.19.261</title>
<subtitle>Linux Kernel
</subtitle>
<id>https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.19.261</id>
<link rel='self' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/atom?h=v4.19.261'/>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/'/>
<updated>2020-02-14T21:33:27Z</updated>
<entry>
<title>crypto: artpec6 - return correct error code for failed setkey()</title>
<updated>2020-02-14T21:33:27Z</updated>
<author>
<name>Eric Biggers</name>
<email>ebiggers@google.com</email>
</author>
<published>2019-12-31T03:19:32Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=e1254ca723ecf5159e13a09508294cd71b215fa9'/>
<id>urn:sha1:e1254ca723ecf5159e13a09508294cd71b215fa9</id>
<content type='text'>
commit b828f905904cd76424230c69741a4cabb0174168 upstream.

-&gt;setkey() is supposed to retun -EINVAL for invalid key lengths, not -1.

Fixes: a21eb94fc4d3 ("crypto: axis - add ARTPEC-6/7 crypto accelerator driver")
Cc: Jesper Nilsson &lt;jesper.nilsson@axis.com&gt;
Cc: Lars Persson &lt;lars.persson@axis.com&gt;
Signed-off-by: Eric Biggers &lt;ebiggers@google.com&gt;
Acked-by: Lars Persson &lt;lars.persson@axis.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Greg Kroah-Hartman &lt;gregkh@linuxfoundation.org&gt;

</content>
</entry>
<entry>
<title>crypto: axis - fix for recursive locking from bottom half</title>
<updated>2019-04-20T07:16:04Z</updated>
<author>
<name>Lars Persson</name>
<email>lars.persson@axis.com</email>
</author>
<published>2019-01-23T11:59:42Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=5f516d0ba082ccf1d0ca974568194153a1d434b9'/>
<id>urn:sha1:5f516d0ba082ccf1d0ca974568194153a1d434b9</id>
<content type='text'>
[ Upstream commit c34a83820f59bb275e5f2d55cd5ea99c64f6ef23 ]

Clients may submit a new requests from the completion callback
context. The driver was not prepared to receive a request in this
state because it already held the request queue lock and a recursive
lock error is triggered.

Now all completions are queued up until we are ready to drop the queue
lock and then delivered.

The fault was triggered by TCP over an IPsec connection in the LTP
test suite:
  LTP: starting tcp4_ipsec02 (tcp_ipsec.sh -p ah -m transport -s "100 1000 65535")
  BUG: spinlock recursion on CPU#1, genload/943
   lock: 0xbf3c3094, .magic: dead4ead, .owner: genload/943, .owner_cpu: 1
  CPU: 1 PID: 943 Comm: genload Tainted: G           O    4.9.62-axis5-devel #6
  Hardware name: Axis ARTPEC-6 Platform
   (unwind_backtrace) from [&lt;8010d134&gt;] (show_stack+0x18/0x1c)
   (show_stack) from [&lt;803a289c&gt;] (dump_stack+0x84/0x98)
   (dump_stack) from [&lt;8016e164&gt;] (do_raw_spin_lock+0x124/0x128)
   (do_raw_spin_lock) from [&lt;804de1a4&gt;] (artpec6_crypto_submit+0x2c/0xa0)
   (artpec6_crypto_submit) from [&lt;804def38&gt;] (artpec6_crypto_prepare_submit_hash+0xd0/0x54c)
   (artpec6_crypto_prepare_submit_hash) from [&lt;7f3165f0&gt;] (ah_output+0x2a4/0x3dc [ah4])
   (ah_output [ah4]) from [&lt;805df9bc&gt;] (xfrm_output_resume+0x178/0x4a4)
   (xfrm_output_resume) from [&lt;805d283c&gt;] (xfrm4_output+0xac/0xbc)
   (xfrm4_output) from [&lt;80587928&gt;] (ip_queue_xmit+0x140/0x3b4)
   (ip_queue_xmit) from [&lt;805a13b4&gt;] (tcp_transmit_skb+0x4c4/0x95c)
   (tcp_transmit_skb) from [&lt;8059f218&gt;] (tcp_rcv_state_process+0xdf4/0xdfc)
   (tcp_rcv_state_process) from [&lt;805a7530&gt;] (tcp_v4_do_rcv+0x64/0x1ac)
   (tcp_v4_do_rcv) from [&lt;805a9724&gt;] (tcp_v4_rcv+0xa34/0xb74)
   (tcp_v4_rcv) from [&lt;80581d34&gt;] (ip_local_deliver_finish+0x78/0x2b0)
   (ip_local_deliver_finish) from [&lt;8058259c&gt;] (ip_local_deliver+0xe4/0x104)
   (ip_local_deliver) from [&lt;805d23ec&gt;] (xfrm4_transport_finish+0xf4/0x144)
   (xfrm4_transport_finish) from [&lt;805df564&gt;] (xfrm_input+0x4f4/0x74c)
   (xfrm_input) from [&lt;804de420&gt;] (artpec6_crypto_task+0x208/0x38c)
   (artpec6_crypto_task) from [&lt;801271b0&gt;] (tasklet_action+0x60/0xec)
   (tasklet_action) from [&lt;801266d4&gt;] (__do_softirq+0xcc/0x3a4)
   (__do_softirq) from [&lt;80126d20&gt;] (irq_exit+0xf4/0x15c)
   (irq_exit) from [&lt;801741e8&gt;] (__handle_domain_irq+0x68/0xbc)
   (__handle_domain_irq) from [&lt;801014f0&gt;] (gic_handle_irq+0x50/0x94)
   (gic_handle_irq) from [&lt;80657370&gt;] (__irq_usr+0x50/0x80)

Signed-off-by: Lars Persson &lt;larper@axis.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>crypto: skcipher - remove useless setting of type flags</title>
<updated>2018-07-08T16:30:27Z</updated>
<author>
<name>Eric Biggers</name>
<email>ebiggers@google.com</email>
</author>
<published>2018-06-30T22:16:15Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2c95e6d97892235b5b98cd4805e47fac87c2226f'/>
<id>urn:sha1:2c95e6d97892235b5b98cd4805e47fac87c2226f</id>
<content type='text'>
Some skcipher algorithms set .cra_flags = CRYPTO_ALG_TYPE_SKCIPHER.  But
this is redundant with the C structure type ('struct skcipher_alg'), and
crypto_register_skcipher() already sets the type flag automatically,
clearing any type flag that was already there.  Apparently the useless
assignment has just been copy+pasted around.

So, remove the useless assignment from all the skcipher algorithms.

This patch shouldn't change any actual behavior.

Signed-off-by: Eric Biggers &lt;ebiggers@google.com&gt;
Acked-by: Gilad Ben-Yossef &lt;gilad@benyossef.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: aead - remove useless setting of type flags</title>
<updated>2018-07-08T16:30:26Z</updated>
<author>
<name>Eric Biggers</name>
<email>ebiggers@google.com</email>
</author>
<published>2018-06-30T22:16:14Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=3f4a537a26a68600ed1439222fb5e5c3aa513c7a'/>
<id>urn:sha1:3f4a537a26a68600ed1439222fb5e5c3aa513c7a</id>
<content type='text'>
Some aead algorithms set .cra_flags = CRYPTO_ALG_TYPE_AEAD.  But this is
redundant with the C structure type ('struct aead_alg'), and
crypto_register_aead() already sets the type flag automatically,
clearing any type flag that was already there.  Apparently the useless
assignment has just been copy+pasted around.

So, remove the useless assignment from all the aead algorithms.

This patch shouldn'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;
</content>
</entry>
<entry>
<title>crypto: ahash - remove useless setting of type flags</title>
<updated>2018-07-08T16:30:25Z</updated>
<author>
<name>Eric Biggers</name>
<email>ebiggers@google.com</email>
</author>
<published>2018-06-30T22:16:12Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6a38f62245c9d5217b696ec5aca6a5cf6351f615'/>
<id>urn:sha1:6a38f62245c9d5217b696ec5aca6a5cf6351f615</id>
<content type='text'>
Many ahash algorithms set .cra_flags = CRYPTO_ALG_TYPE_AHASH.  But this
is redundant with the C structure type ('struct ahash_alg'), and
crypto_register_ahash() already sets the type flag automatically,
clearing any type flag that was already there.  Apparently the useless
assignment has just been copy+pasted around.

So, remove the useless assignment from all the ahash algorithms.

This patch shouldn't change any actual behavior.

Signed-off-by: Eric Biggers &lt;ebiggers@google.com&gt;
Acked-by: Gilad Ben-Yossef &lt;gilad@benyossef.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: axis - remove unnecessary platform_get_resource() error check</title>
<updated>2018-01-25T14:10:29Z</updated>
<author>
<name>weiyongjun \(A\)</name>
<email>weiyongjun1@huawei.com</email>
</author>
<published>2018-01-17T11:26:47Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=235699e2a99fe40c11a377942e60bad11ce4046e'/>
<id>urn:sha1:235699e2a99fe40c11a377942e60bad11ce4046e</id>
<content type='text'>
devm_ioremap_resource() already checks if the resource is NULL, so
remove the unnecessary platform_get_resource() error check.

Signed-off-by: Wei Yongjun &lt;weiyongjun1@huawei.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>crypto: artpec6 - set correct iv size for gcm(aes)</title>
<updated>2017-12-22T08:52:40Z</updated>
<author>
<name>Lars Persson</name>
<email>lars.persson@axis.com</email>
</author>
<published>2017-12-12T11:40:22Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=6d6e71feb183aa588c849e20e7baa47cb162928a'/>
<id>urn:sha1:6d6e71feb183aa588c849e20e7baa47cb162928a</id>
<content type='text'>
The IV size should not include the 32 bit counter. Because we had the
IV size set as 16 the transform only worked when the IV input was zero
padded.

Fixes: a21eb94fc4d3 ("crypto: axis - add ARTPEC-6/7 crypto accelerator driver")
Signed-off-by: Lars Persson &lt;larper@axis.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
<entry>
<title>Merge branch 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip</title>
<updated>2017-11-14T01:56:58Z</updated>
<author>
<name>Linus Torvalds</name>
<email>torvalds@linux-foundation.org</email>
</author>
<published>2017-11-14T01:56:58Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=2bcc673101268dc50e52b83226c5bbf38391e16d'/>
<id>urn:sha1:2bcc673101268dc50e52b83226c5bbf38391e16d</id>
<content type='text'>
Pull timer updates from Thomas Gleixner:
 "Yet another big pile of changes:

   - More year 2038 work from Arnd slowly reaching the point where we
     need to think about the syscalls themself.

   - A new timer function which allows to conditionally (re)arm a timer
     only when it's either not running or the new expiry time is sooner
     than the armed expiry time. This allows to use a single timer for
     multiple timeout requirements w/o caring about the first expiry
     time at the call site.

   - A new NMI safe accessor to clock real time for the printk timestamp
     work. Can be used by tracing, perf as well if required.

   - A large number of timer setup conversions from Kees which got
     collected here because either maintainers requested so or they
     simply got ignored. As Kees pointed out already there are a few
     trivial merge conflicts and some redundant commits which was
     unavoidable due to the size of this conversion effort.

   - Avoid a redundant iteration in the timer wheel softirq processing.

   - Provide a mechanism to treat RTC implementations depending on their
     hardware properties, i.e. don't inflict the write at the 0.5
     seconds boundary which originates from the PC CMOS RTC to all RTCs.
     No functional change as drivers need to be updated separately.

   - The usual small updates to core code clocksource drivers. Nothing
     really exciting"

* 'timers-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: (111 commits)
  timers: Add a function to start/reduce a timer
  pstore: Use ktime_get_real_fast_ns() instead of __getnstimeofday()
  timer: Prepare to change all DEFINE_TIMER() callbacks
  netfilter: ipvs: Convert timers to use timer_setup()
  scsi: qla2xxx: Convert timers to use timer_setup()
  block/aoe: discover_timer: Convert timers to use timer_setup()
  ide: Convert timers to use timer_setup()
  drbd: Convert timers to use timer_setup()
  mailbox: Convert timers to use timer_setup()
  crypto: Convert timers to use timer_setup()
  drivers/pcmcia: omap1: Fix error in automated timer conversion
  ARM: footbridge: Fix typo in timer conversion
  drivers/sgi-xp: Convert timers to use timer_setup()
  drivers/pcmcia: Convert timers to use timer_setup()
  drivers/memstick: Convert timers to use timer_setup()
  drivers/macintosh: Convert timers to use timer_setup()
  hwrng/xgene-rng: Convert timers to use timer_setup()
  auxdisplay: Convert timers to use timer_setup()
  sparc/led: Convert timers to use timer_setup()
  mips: ip22/32: Convert timers to use timer_setup()
  ...
</content>
</entry>
<entry>
<title>crypto: Convert timers to use timer_setup()</title>
<updated>2017-11-06T20:49:44Z</updated>
<author>
<name>Kees Cook</name>
<email>keescook@chromium.org</email>
</author>
<published>2017-10-19T23:43:19Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=f34d8d506eeff1375f0b3533839ce0b77b748437'/>
<id>urn:sha1:f34d8d506eeff1375f0b3533839ce0b77b748437</id>
<content type='text'>
In preparation for unconditionally passing the struct timer_list pointer to
all timer callbacks, switch to using the new timer_setup() and from_timer()
to pass the timer pointer explicitly.

Cc: Jesper Nilsson &lt;jesper.nilsson@axis.com&gt;
Cc: Lars Persson &lt;lars.persson@axis.com&gt;
Cc: Niklas Cassel &lt;niklas.cassel@axis.com&gt;
Cc: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
Cc: "David S. Miller" &lt;davem@davemloft.net&gt;
Cc: Jamie Iles &lt;jamie@jamieiles.com&gt;
Cc: linux-arm-kernel@axis.com
Cc: linux-crypto@vger.kernel.org
Cc: linux-arm-kernel@lists.infradead.org
Signed-off-by: Kees Cook &lt;keescook@chromium.org&gt;
Acked-by: Jamie Iles &lt;jamie@jamieiles.com&gt;
Acked-by: Lars Persson &lt;lars.persson@axis.com&gt; # for axis
</content>
</entry>
<entry>
<title>crypto: axis - hide an unused variable</title>
<updated>2017-09-22T09:38:19Z</updated>
<author>
<name>Arnd Bergmann</name>
<email>arnd@arndb.de</email>
</author>
<published>2017-08-24T22:19:54Z</published>
<link rel='alternate' type='text/html' href='https://git.stealer.net/cgit.cgi/user/sven/linux.git/commit/?id=40784d72aeeb4d95cf74ea2243223a85193f0e84'/>
<id>urn:sha1:40784d72aeeb4d95cf74ea2243223a85193f0e84</id>
<content type='text'>
Without CONFIG_DEBUG_FS, we get a harmless warning:

drivers/crypto/axis/artpec6_crypto.c:352:23: error: 'dbgfs_root' defined but not used [-Werror=unused-variable]

This moves it into the #ifdef that hides the only user.

Fixes: a21eb94fc4d3 ("crypto: axis - add ARTPEC-6/7 crypto accelerator driver")
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Acked-by: Lars Persson &lt;larper@axis.com&gt;
Signed-off-by: Herbert Xu &lt;herbert@gondor.apana.org.au&gt;
</content>
</entry>
</feed>
