Re: [PATCH v4 01/29] bluetooth: Switch SMP to crypto_cipher_encrypt_one()

From: Andy Lutomirski
Date: Mon Jun 27 2016 - 18:34:06 EST


On Mon, Jun 27, 2016 at 3:30 PM, Marcel Holtmann <marcel@xxxxxxxxxxxx> wrote:
> Hi Ingo,
>
>>>> SMP does ECB crypto on stack buffers. This is complicated and
>>>> fragile, and it will not work if the stack is virtually allocated.
>>>>
>>>> Switch to the crypto_cipher interface, which is simpler and safer.
>>>>
>>>> Cc: Marcel Holtmann <marcel@xxxxxxxxxxxx>
>>>> Cc: Gustavo Padovan <gustavo@xxxxxxxxxxx>
>>>> Cc: Johan Hedberg <johan.hedberg@xxxxxxxxx>
>>>> Cc: "David S. Miller" <davem@xxxxxxxxxxxxx>
>>>> Cc: linux-bluetooth@xxxxxxxxxxxxxxx
>>>> Cc: netdev@xxxxxxxxxxxxxxx
>>>> Acked-by: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx>
>>>> Acked-and-tested-by: Johan Hedberg <johan.hedberg@xxxxxxxxx>
>>>> Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
>>>> ---
>>>> net/bluetooth/smp.c | 67 ++++++++++++++++++++++-------------------------------
>>>> 1 file changed, 28 insertions(+), 39 deletions(-)
>>>
>>> patch has been applied to bluetooth-next tree.
>>
>> Sadly carrying this separately will delay the virtual kernel stacks feature by a
>> kernel cycle, because it's a must-have prerequisite.
>
> I can take it back out, but then I have the fear the the ECDH change to use KPP for SMP might be the one that has to wait a kernel cycle. Either way is fine with me, but I want to avoid nasty merge conflicts in the Bluetooth SMP code.

Nothing goes wrong if an identical patch is queued in both places,
right? Or, if you prefer not to duplicate it, could one of you commit
it and the other one pull it? Ingo, given that this is patch 1 in the
series and unlikely to change, if you want to make this whole thing
have a separate branch in -tip, this could live there for starters.
(But, if you do so, please make sure you base off a very new copy of
Linus' tree -- the series is heavily dependent on the thread_info
change he applied a few days ago.)

--Andy