mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ard Biesheuvel <ardb@kernel.org>
To: Kees Cook <keescook@chromium.org>
Cc: "Guilherme G. Piccoli" <gpiccoli@igalia.com>,
	linux-kernel@vger.kernel.org, linux-fsdevel@vger.kernel.org,
	kernel-dev@igalia.com, kernel@gpiccoli.net, anton@enomsg.org,
	ccross@android.com, tony.luck@intel.com
Subject: Re: [PATCH 5/8] pstore: Fix long-term implicit conversions in the compression routines
Date: Mon, 10 Oct 2022 09:24:05 +0200	[thread overview]
Message-ID: <CAMj1kXF+oWGF7pe8kdwp-rmz3+VWsgqR4K3SHdSyLwoO2VQq4g@mail.gmail.com> (raw)
In-Reply-To: <202210081242.0B0F8B7@keescook>

On Sat, 8 Oct 2022 at 21:44, Kees Cook <keescook@chromium.org> wrote:
>
> On Sat, Oct 08, 2022 at 07:52:48PM +0200, Ard Biesheuvel wrote:
> > Again, please correct me if I am missing something here (Kees?). Are
> > there cases where we compress data that may be compressed already?
>
> Nope, for dmesg, it should all only be text. I'd agree -- the worst case
> seems a weird thing to need.
>

I've spent a bit more time looking into this, and it seems the pstore
code already deals with the compression failure gracefully, so we
should be able to just use the uncompressed size as an upper bound for
the compressed size without the need for elaborate support in the
crypto API.

Then I wondered if we still need the big_oops_buf, or whether we could
just compress in place. So after a bit more digging, I found out that
we can, but only because the scompress backend of the acompress API we
intend to use allocates 256 KiB of scratch buffers *per CPU* (which
amounts to 32 MB of DRAM permanently tied up in the kernel on my 32x4
ThunderX2 box).

So then I wondered why we are using this terrible API in the first
place, and what the added value is of having 6 different algorithms
available to compress a small amount of ASCII text, which only occurs
on an ice cold code path to begin with.

So can we rip out this layer and just use GZIP directly (or just use
LZMA if we are obsessed with compression ratio)? I am aware that we
will need some kind of transition period where we need to support
existing records compressed with other compression types, but I don't
think that is something we'd need to sustain for more than a year,
right?

  reply	other threads:[~2022-10-10  7:31 UTC|newest]

Thread overview: 53+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-10-06 22:42 [PATCH 0/8] Some pstore improvements Guilherme G. Piccoli
2022-10-06 22:42 ` [PATCH 1/8] pstore: Improve error reporting in case of backend overlap Guilherme G. Piccoli
2022-10-06 23:27   ` Kees Cook
2022-10-06 23:35     ` Guilherme G. Piccoli
2022-10-06 22:42 ` [PATCH 2/8] pstore: Expose kmsg_bytes as a module parameter Guilherme G. Piccoli
2022-10-06 23:32   ` Kees Cook
2022-10-12 15:33     ` Guilherme G. Piccoli
2022-10-12 17:58       ` Kees Cook
2022-11-01 19:08         ` Guilherme G. Piccoli
2022-10-06 22:42 ` [PATCH 3/8] pstore: Inform unregistered backend names as well Guilherme G. Piccoli
2022-10-06 22:42 ` [PATCH 4/8] pstore: Alert on backend write error Guilherme G. Piccoli
2022-10-06 23:27   ` Kees Cook
2022-10-06 23:34     ` Guilherme G. Piccoli
2022-10-06 23:44       ` Kees Cook
2022-10-06 22:42 ` [PATCH 5/8] pstore: Fix long-term implicit conversions in the compression routines Guilherme G. Piccoli
2022-10-06 23:36   ` Kees Cook
2022-10-07  8:47     ` Ard Biesheuvel
2022-10-07 19:37       ` Kees Cook
2022-10-08 14:14         ` Guilherme G. Piccoli
2022-10-08 15:53           ` Ard Biesheuvel
2022-10-08 16:03             ` Guilherme G. Piccoli
2022-10-08 17:52               ` Ard Biesheuvel
2022-10-08 18:12                 ` Guilherme G. Piccoli
2022-10-08 19:44                 ` Kees Cook
2022-10-10  7:24                   ` Ard Biesheuvel [this message]
2022-10-06 22:42 ` [PATCH 6/8] MAINTAINERS: Add a mailing-list for the pstore infrastructure Guilherme G. Piccoli
2022-10-06 23:22   ` Kees Cook
2022-10-06 23:29     ` Luck, Tony
2022-10-06 23:37       ` Kees Cook
2022-10-07 16:19         ` Luck, Tony
2022-10-07 16:21     ` Colin Cross
2022-10-07 16:32     ` Guilherme G. Piccoli
2022-10-07 19:25       ` Kees Cook
2022-10-06 22:42 ` [PATCH 7/8] efi: pstore: Follow convention for the efi-pstore backend name Guilherme G. Piccoli
2022-10-06 23:16   ` Kees Cook
2022-10-07  8:47     ` Ard Biesheuvel
2022-10-14 17:41   ` (subset) " Kees Cook
2024-06-03 23:02   ` Stephen Boyd
2024-06-04 19:05     ` Guilherme G. Piccoli
2022-10-06 22:42 ` [PATCH 8/8] efi: pstore: Add module parameter for setting the record size Guilherme G. Piccoli
2022-10-06 23:16   ` Kees Cook
2022-10-07  9:11     ` Ard Biesheuvel
2022-10-07 13:00       ` Guilherme G. Piccoli
2022-10-07 13:19         ` Ard Biesheuvel
2022-10-07 13:45           ` Guilherme G. Piccoli
2022-10-07 15:06             ` Ard Biesheuvel
2022-10-07 17:01               ` Guilherme G. Piccoli
2022-10-07 19:32             ` Kees Cook
2022-10-07 23:29               ` Guilherme G. Piccoli
2022-10-08  2:36                 ` Kees Cook
2022-10-06 23:24 ` [PATCH 0/8] Some pstore improvements Kees Cook
2022-10-12 15:50   ` Guilherme G. Piccoli
2022-10-12 17:59     ` Kees Cook

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=CAMj1kXF+oWGF7pe8kdwp-rmz3+VWsgqR4K3SHdSyLwoO2VQq4g@mail.gmail.com \
    --to=ardb@kernel.org \
    --cc=anton@enomsg.org \
    --cc=ccross@android.com \
    --cc=gpiccoli@igalia.com \
    --cc=keescook@chromium.org \
    --cc=kernel-dev@igalia.com \
    --cc=kernel@gpiccoli.net \
    --cc=linux-fsdevel@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

all inboxes | Powered by JetHome®