svn commit: r285336 - in head/sys: netipsec opencrypto
George Neville-Neil
gnn at freebsd.org
Mon Jul 13 15:26:03 UTC 2015
On 11 Jul 2015, at 3:57, John-Mark Gurney wrote:
> Matthew D. Fuller wrote this message on Fri, Jul 10, 2015 at 23:48
> -0500:
>> On Thu, Jul 09, 2015 at 06:16:36PM +0000 I heard the voice of
>> George V. Neville-Neil, and lo! it spake thus:
>>> New Revision: 285336
>>> URL: https://svnweb.freebsd.org/changeset/base/285336
>>>
>>> Log:
>>> Add support for AES modes to IPSec. These modes work both in
>>> software only
>>> mode and with hardware support on systems that have AESNI
>>> instructions.
>>
>> With (apparently) this change, I can trigger a panic at will by
>> running
>>
>> % geli onetime -e AES-XTS -d /dev/ada0s1
>>
>> My best guess is that it comes from
>>
>>> -#define RIJNDAEL128_BLOCK_LEN 16
>>> +#define AES_MIN_BLOCK_LEN 1
>>
>>> - RIJNDAEL128_BLOCK_LEN, 8, 32, 64,
>>> + AES_MIN_BLOCK_LEN, AES_XTS_IV_LEN, AES_XTS_MIN_KEY,
>>> AES_XTS_MAX_KEY,
>>
>> changing that first arg from 16 to 1. It seems to be avoided with
>> the
>> following patch:
>>
>> ------8K--------
>>
>> Index: sys/opencrypto/xform.c
>> ===================================================================
>> --- sys/opencrypto/xform.c (revision 285365)
>> +++ sys/opencrypto/xform.c (working copy)
>> @@ -257,7 +257,7 @@
>>
>> struct enc_xform enc_xform_aes_xts = {
>> CRYPTO_AES_XTS, "AES-XTS",
>> - AES_MIN_BLOCK_LEN, AES_XTS_IV_LEN, AES_XTS_MIN_KEY,
>> AES_XTS_MAX_KEY,
>> + AES_BLOCK_LEN, AES_XTS_IV_LEN, AES_XTS_MIN_KEY, AES_XTS_MAX_KEY,
>> aes_xts_encrypt,
>> aes_xts_decrypt,
>> aes_xts_setkey,
>>
>> ------8K--------
>>
>> at least in a little testing here. If that's the actual fix, some of
>> the other MIN_BLOCK_LEN changes in GCM and GMAC are probably suspect
>> too.
>>
>>
>> (I also wonder why AES-ICM is still using the RIJNDAEL128 #defines;
>> shouldn't it be using the AES's too? But that's cosmtic...)
>
> Our XTS though should be a block size of 1, doesn't implement
> cipher text stealing, so still must be 16... I assumed that the values
> of all the defines did not change... That is clearly not the case...
>
> gnn, can you please make sure that the tables in xform.c match before
> your change? If you think there needs to be a value changed, please
> run it by me..
>
Correct, I changed it from the RIJNDAEL value to the "correct" minimum
value
of 1. I can do a followup commit to bump it back to 16 if that's what
you think
it ought to be.
Best,
George
More information about the svn-src-all
mailing list