linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Marcel Holtmann <marcel@holtmann.org>
To: "Gustavo A. R. Silva" <gustavo@embeddedor.com>
Cc: Johan Hedberg <johan.hedberg@gmail.com>,
	"David S. Miller" <davem@davemloft.net>,
	Bluez mailing list <linux-bluetooth@vger.kernel.org>,
	Network Development <netdev@vger.kernel.org>,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] Bluetooth: Remove VLA usage in aes_cmac
Date: Thu, 5 Apr 2018 10:46:39 +0200	[thread overview]
Message-ID: <347FC7F5-4BB3-4477-9EF1-BAAA98F1D107@holtmann.org> (raw)
In-Reply-To: <2af25866-4e8a-7f9c-9298-e45abfab20c7@embeddedor.com>

Hi Gustavo,

>> so I took this patch back out of bluetooth-next before sending the pull request. I think the discussion on how to fix SHASH_DESC_ON_STACK macro needs to complete first. Once that has concluded we can revisit if this patch is still needed or if another solution has been found. Same as with WiFi, these are not just one-shot calls where a memory allocation doesn’t matter. We need this for random address resolution and thus there can be many of the aes_cmac calls when seeing neighboring devices.
> 
> Yeah. I agree.
> 
> Based on Herbert's response to the discussion about SHASH_DESC_ON_STACK https://lkml.org/lkml/2018/3/27/300
> 
> it seems it is feasible to fix that macro very easily. I will follow up on this.
> 
> By the way, what is you opinion on replacing crypto_shash_descsize(ctx) with PAGE_SIZE / 8 in SHASH_DESC_ON_STACK?
> 
> Does it work for you?

isn’t that just waste?

The macro itself is this.

#define SHASH_DESC_ON_STACK(shash, ctx)                           \              
        char __##shash##_desc[sizeof(struct shash_desc) +         \              
                crypto_shash_descsize(ctx)] CRYPTO_MINALIGN_ATTR; \              
        struct shash_desc *shash = (struct shash_desc *)__##shash##_desc

For AES-CMAC, we could always do this with a manual macro that gives us the right size. However that is error prone if any internals change. I think what has to happened that crypto_shash_decsize becomes something the compiler can evaluate at compile time.

Regards

Marcel

  reply	other threads:[~2018-04-05  8:46 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-03-21  1:05 [PATCH v2] Bluetooth: Remove VLA usage in aes_cmac Gustavo A. R. Silva
2018-03-21 13:45 ` Marcel Holtmann
2018-03-21 13:49   ` Gustavo A. R. Silva
2018-04-05  7:23 ` Marcel Holtmann
2018-04-05  8:35   ` Gustavo A. R. Silva
2018-04-05  8:46     ` Marcel Holtmann [this message]
2018-04-05  9:51       ` Gustavo A. R. Silva

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=347FC7F5-4BB3-4477-9EF1-BAAA98F1D107@holtmann.org \
    --to=marcel@holtmann.org \
    --cc=davem@davemloft.net \
    --cc=gustavo@embeddedor.com \
    --cc=johan.hedberg@gmail.com \
    --cc=linux-bluetooth@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).