lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 30 Aug 2018 15:59:51 +0200 From: Krzysztof Kozlowski <krzk@...nel.org> To: k.konieczny@...tner.samsung.com Cc: smueller@...onox.de, herbert@...dor.apana.org.au, davem@...emloft.net, linux-crypto@...r.kernel.org, linux-kernel@...r.kernel.org Subject: Re: Locking for HW crypto accelerators On Thu, 30 Aug 2018 at 15:27, Kamil Konieczny <k.konieczny@...tner.samsung.com> wrote: > > On 30.08.2018 15:09, Krzysztof Kozlowski wrote: > > [...] > > Thanks Stephan for hints. Let's assume the each of init, update and > > final are atomic... but how about the relation between update and > > final? I have two concurrent users in user-space but only one HW: > > > > Process A: Process B: > > init() and set_key() > > init() and different key > > update(some_data) > > update(different_data) > > final() > > final() > > > > The final() from process A will now produce the result of hashing/CRC > > of some_data and different_data (and even maybe mixed with init() for > > different key). All because in the meantime process B added its own > > data to the HW. > > > > Best regards, > > Krzysztof > Can your hardware do export/import ? > > If yes, you can use workqueue and guard HW with spinlock, > as in exynos hash in s5p-sss.c (or see other drivers). Yes, workqueue doing all necessary HW initialization would be the solution here as well. The point is what later Herbert wrote - I need to take care about the HW state because the requests even for shash will be coming in random order. Best regards, Krzysztof
Powered by blists - more mailing lists