From: Kees Cook <keescook@chromium.org>
To: Ard Biesheuvel <ardb@kernel.org>
Cc: "Guilherme G. Piccoli" <gpiccoli@igalia.com>,
Anton Vorontsov <anton@enomsg.org>,
Colin Cross <ccross@android.com>, Tony Luck <tony.luck@intel.com>,
linux-kernel@vger.kernel.org, linux-hardening@vger.kernel.org
Subject: Re: [PATCH] pstore: migrate to crypto acomp interface (take 2)
Date: Mon, 17 Oct 2022 12:40:13 -0700 [thread overview]
Message-ID: <202210171237.DF5D4A3FD7@keescook> (raw)
In-Reply-To: <CAMj1kXEJQ8gh-iXZNL8bNcmV=JCmKHNp5BnhYthhSOyR5h79_g@mail.gmail.com>
On Mon, Oct 17, 2022 at 09:33:06PM +0200, Ard Biesheuvel wrote:
> On Mon, 17 Oct 2022 at 21:29, Kees Cook <keescook@chromium.org> wrote:
> >
> > On Mon, Oct 17, 2022 at 08:14:14PM +0200, Ard Biesheuvel wrote:
> > > So once we use the same size for input and output, I was curious
> > > whether we could encrypt in place, and get rid of the big_oops_buf.
> > > And the answer is 'yes', precisely because we have this horrid per-CPU
> > > allocation which serves as a bounce buffer. And this is not specific
> > > to acomp, the old comp algorithms get wrapped in scomps which receive
> > > the same treatment.
> >
> > Ah, in the sense that "in place" is actually happening in the per-cpu
> > allocation, and only if it succeeds does the input buffer get
> > overwritten?
>
> Something like that IIRC.
>
> > > So at that point, I wondered what the point is of all this complexity.
> > > Do we really need 6 different algorithms to compress a couple of K of
> > > ASCII text on a code path that is ice cold by definition? Wouldn't it
> > > be better to drop the crypto API altogether here, and just use GZIP
> > > via the library interface?
> >
> > Well, my goal was to make the algo "pstore doesn't care". If someone
> > picks deflate, do they still get all the per-cpu allocations?
> >
>
> Not if you use the library interface directly.
>
> The issue with the percpu buffers is that they are only kept if any
> scomp TFMs are active, but this is always the case for pstore, as you
> don't want to allocate it on the panic path.
Okay, so strictly speaking, eliminating the per-CPU allocation is an
improvement. Keeping scomp and doing in-place compression will let
pstore use "any" compressions method.
Is there a crypto API that does _not_ preallocate the per-CPU stuff?
Because, as you say, it's a huge amount of memory on the bigger
systems...
--
Kees Cook
next prev parent reply other threads:[~2022-10-17 19:40 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-10-06 23:41 [PATCH] pstore: migrate to crypto acomp interface (take 2) Kees Cook
2022-10-06 23:45 ` Kees Cook
2022-10-07 18:46 ` Guilherme G. Piccoli
2022-10-17 16:26 ` Guilherme G. Piccoli
2022-10-17 18:01 ` Kees Cook
2022-10-17 18:14 ` Ard Biesheuvel
2022-10-17 18:22 ` Guilherme G. Piccoli
2022-10-17 19:11 ` Ard Biesheuvel
2022-10-17 19:29 ` Kees Cook
2022-10-17 19:33 ` Ard Biesheuvel
2022-10-17 19:40 ` Kees Cook [this message]
2022-10-17 19:45 ` Ard Biesheuvel
2022-10-17 20:11 ` Kees Cook
2022-10-17 20:13 ` Ard Biesheuvel
2022-10-17 20:35 ` Kees Cook
2022-10-17 21:01 ` Ard Biesheuvel
2022-10-17 21:10 ` Guilherme G. Piccoli
2022-10-17 21:16 ` Ard Biesheuvel
2022-10-17 21:25 ` Guilherme G. Piccoli
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=202210171237.DF5D4A3FD7@keescook \
--to=keescook@chromium.org \
--cc=anton@enomsg.org \
--cc=ardb@kernel.org \
--cc=ccross@android.com \
--cc=gpiccoli@igalia.com \
--cc=linux-hardening@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=tony.luck@intel.com \
/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