* hash import/export
@ 2015-10-11 19:34 Russell King - ARM Linux
2015-10-11 19:38 ` Boris Brezillon
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Russell King - ARM Linux @ 2015-10-11 19:34 UTC (permalink / raw)
To: Herbert Xu; +Cc: Boris Brezillon, linux-crypto
Herbert,
I wonder if you can clear something up about the hash export/import
functionality. In:
http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/344120.html
you seem to imply that the exported and imported state can't be defined
by the driver.
Boris tells me, "AFAIR, crypto users are expecting md5/sha1/sha256_state
depending on the crypto req state they are exporting".
>From what I can see, there is only one place in the core crypto code
where hash state is exported and imported, and that's in hash_accept(),
and that's always done with the same driver. The only other place is
in the marvell cesa driver itself when initialising the hmac state.
Is there any reason a driver can't define its own structure to be
exported here which can be shared between each of the different methods
it supports?
Thanks.
--
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: hash import/export
2015-10-11 19:34 hash import/export Russell King - ARM Linux
@ 2015-10-11 19:38 ` Boris Brezillon
2015-10-11 22:10 ` Russell King - ARM Linux
2015-10-12 1:44 ` Herbert Xu
2 siblings, 0 replies; 4+ messages in thread
From: Boris Brezillon @ 2015-10-11 19:38 UTC (permalink / raw)
To: Russell King - ARM Linux; +Cc: Herbert Xu, linux-crypto
On Sun, 11 Oct 2015 20:34:27 +0100
Russell King - ARM Linux <linux@arm.linux.org.uk> wrote:
> Herbert,
>
> I wonder if you can clear something up about the hash export/import
> functionality. In:
>
> http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/344120.html
>
> you seem to imply that the exported and imported state can't be defined
> by the driver.
>
> Boris tells me, "AFAIR, crypto users are expecting md5/sha1/sha256_state
> depending on the crypto req state they are exporting".
Actually, this was my interpretation of Herbert's answer to this driver
submission [1], but maybe I completely misunderstood his point.
>
> From what I can see, there is only one place in the core crypto code
> where hash state is exported and imported, and that's in hash_accept(),
> and that's always done with the same driver. The only other place is
> in the marvell cesa driver itself when initialising the hmac state.
>
> Is there any reason a driver can't define its own structure to be
> exported here which can be shared between each of the different methods
> it supports?
>
> Thanks.
>
[1]http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/344120.html
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: hash import/export
2015-10-11 19:34 hash import/export Russell King - ARM Linux
2015-10-11 19:38 ` Boris Brezillon
@ 2015-10-11 22:10 ` Russell King - ARM Linux
2015-10-12 1:44 ` Herbert Xu
2 siblings, 0 replies; 4+ messages in thread
From: Russell King - ARM Linux @ 2015-10-11 22:10 UTC (permalink / raw)
To: Herbert Xu; +Cc: Boris Brezillon, linux-crypto
On Sun, Oct 11, 2015 at 08:34:27PM +0100, Russell King - ARM Linux wrote:
> Herbert,
>
> I wonder if you can clear something up about the hash export/import
> functionality. In:
>
> http://lists.infradead.org/pipermail/linux-arm-kernel/2015-May/344120.html
>
> you seem to imply that the exported and imported state can't be defined
> by the driver.
>
> Boris tells me, "AFAIR, crypto users are expecting md5/sha1/sha256_state
> depending on the crypto req state they are exporting".
>
> From what I can see, there is only one place in the core crypto code
> where hash state is exported and imported, and that's in hash_accept(),
> and that's always done with the same driver. The only other place is
> in the marvell cesa driver itself when initialising the hmac state.
>
> Is there any reason a driver can't define its own structure to be
> exported here which can be shared between each of the different methods
> it supports?
A further question: it looks like struct md5_state's hash member is
always supposed to be in little endian format, whereas struct
sha*_state's state is always big endian format. Is there a reason
why these are typed 'u32', rather than __le32 and __be32?
This would make the intention here more obvious, and should also allow
the opportunity for sparse to verify that we're getting the endianness
correct everywhere.
Thanks.
--
FTTC broadband for 0.8mile line: currently at 9.6Mbps down 400kbps up
according to speedtest.net.
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: hash import/export
2015-10-11 19:34 hash import/export Russell King - ARM Linux
2015-10-11 19:38 ` Boris Brezillon
2015-10-11 22:10 ` Russell King - ARM Linux
@ 2015-10-12 1:44 ` Herbert Xu
2 siblings, 0 replies; 4+ messages in thread
From: Herbert Xu @ 2015-10-12 1:44 UTC (permalink / raw)
To: Russell King - ARM Linux; +Cc: Boris Brezillon, linux-crypto
On Sun, Oct 11, 2015 at 08:34:27PM +0100, Russell King - ARM Linux wrote:
>
> Is there any reason a driver can't define its own structure to be
> exported here which can be shared between each of the different methods
> it supports?
For algorithms in general you can use any format you like and there
is no restriction. However, for specific algorithms such as crc32c
and family there is a requirement to use a fixed format.
Cheers,
--
Email: Herbert Xu <herbert@gondor.apana.org.au>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2015-10-12 1:44 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-10-11 19:34 hash import/export Russell King - ARM Linux
2015-10-11 19:38 ` Boris Brezillon
2015-10-11 22:10 ` Russell King - ARM Linux
2015-10-12 1:44 ` Herbert Xu
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox