All of lore.kernel.org
 help / color / mirror / Atom feed
From: Linus Torvalds <torvalds@linux-foundation.org>
To: Herbert Xu <herbert@gondor.apana.org.au>, Lukas Wunner <lukas@wunner.de>
Cc: "David S. Miller" <davem@davemloft.net>,
	 Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	 Linux Crypto Mailing List <linux-crypto@vger.kernel.org>
Subject: Re: [GIT PULL] Crypto Update for 6.10
Date: Mon, 13 May 2024 15:12:53 -0700	[thread overview]
Message-ID: <CAHk-=wjmwmWv3sDCNq8c4VHWZUtZH72tDqR=TcgfpxTegL=aZw@mail.gmail.com> (raw)
In-Reply-To: <ZkGN64ulwzPVvn6-@gondor.apana.org.au>

On Sun, 12 May 2024 at 20:50, Herbert Xu <herbert@gondor.apana.org.au> wrote:
>
> Lukas Wunner (1):
>       X.509: Introduce scope-based x509_certificate allocation

I absolutely hate how this commit tries to remove one single compare
instruction by introducing a *very* dangerous hack.

The whole 'assume()' thing will generate actively wrong code if that
assumption conditional doesn't hold, to the point of being completely
impossible to debug.

Having random kernel code add random "assume()" lines is absolutely
not what we should do. Particularly not in some random code sequence
where it absolutely does not matter ONE WHIT.

Now, I've pulled this, but I killed that  "assume()" hackery in my merge.

Because there is no way we will ever encourage random code to make
these kinds of patterns, and I most definitely do not want anybody
else to try to copy that horrendous thing.

Yes, yes, we have "unreachable()" in other places, and yes, you can
make compilers generate garbage by using that incorrectly. But they
should be about obvious code warning issues, not about "let's save one
conditional instruction".

Now, if somebody really *really* cares about that one extraneous
conditional, particularly if it shows up in some more important place
than some random certificate parsing routine where is most definitely
is not in the least critical, there are better models for this
optimization.

Maybe somebody can teach the kernel build in *general* that
"kmalloc()" and friends never return an error pointer, only NULL or
success? That would not necessarily be a bad idea if the scope-based
cleanup otherwise causes issues.

But this kind of hacky "one random piece of kernel code uses a very
dangerous pattern to state that some *other* piece of kernel code has
particular return patterns" - that is not at all acceptable.

Put another way: it would probably be ok if the SLAB people added some
"this function cannot return error codes" annotation on their core
declaration and it fixed an issue in _general_.

But it is *not* ok if random kernel code starts randomly asserting the
same thing.

Quod licet Iovi, non licet bovi.

                 Linus

  reply	other threads:[~2024-05-13 22:13 UTC|newest]

Thread overview: 144+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-03  4:40 [GIT PULL] Crypto Update for 5.9 Herbert Xu
2020-08-03 17:55 ` pr-tracker-bot
2020-08-30 22:33 ` [GIT PULL] Crypto Fixes " Herbert Xu
2020-08-30 23:02   ` pr-tracker-bot
2020-09-10  0:34   ` Herbert Xu
2020-09-10  2:48     ` pr-tracker-bot
2020-10-26  1:11   ` [GIT PULL] Crypto Fixes for 5.10 Herbert Xu
2020-10-26 17:52     ` pr-tracker-bot
2020-12-27 11:32     ` [GIT PULL] Crypto Fixes for 5.11 Herbert Xu
2020-12-27 17:27       ` pr-tracker-bot
2021-01-08  3:54       ` Herbert Xu
2021-01-08 20:36         ` pr-tracker-bot
2021-01-18  5:13         ` Herbert Xu
2021-01-18 21:16           ` pr-tracker-bot
2021-01-25 22:36           ` Herbert Xu
2021-01-26  0:01             ` pr-tracker-bot
2021-07-08  3:09         ` [GIT PULL] Crypto Fixes for 5.14 Herbert Xu
2021-07-09 19:20           ` pr-tracker-bot
2021-08-17  1:36           ` Herbert Xu
2021-08-17  2:27             ` pr-tracker-bot
2021-09-29  2:38             ` [GIT PULL] Crypto Fixes for 5.15 Herbert Xu
2021-09-29 14:51               ` pr-tracker-bot
2021-10-29  4:14               ` Herbert Xu
2021-10-29 17:39                 ` Linus Torvalds
2021-11-02  4:01                   ` Herbert Xu
2021-10-29 18:49                 ` pr-tracker-bot
2021-11-12 10:48                 ` [GIT PULL] Crypto Fixes for 5.16 Herbert Xu
2021-11-12 20:42                   ` pr-tracker-bot
2021-12-22  5:13                   ` Herbert Xu
2021-12-22 19:02                     ` pr-tracker-bot
2022-02-09  2:33                     ` [GIT PULL] Crypto Fixes for 5.17 Herbert Xu
2022-02-09 18:01                       ` pr-tracker-bot
2022-03-16  1:13                       ` Herbert Xu
2022-03-17 20:40                         ` pr-tracker-bot
2022-03-31  3:16                         ` [GIT PULL] Crypto Fixes for 5.18 Herbert Xu
2022-03-31 19:12                           ` pr-tracker-bot
2022-05-20  5:41                           ` Herbert Xu
2022-05-20  6:10                             ` pr-tracker-bot
2022-05-27 11:29                           ` [GIT PULL] Crypto Fixes for 5.19 Herbert Xu
2022-05-28  1:21                             ` pr-tracker-bot
2022-06-17  8:29                             ` Herbert Xu
2022-06-17 15:29                               ` pr-tracker-bot
2022-06-30  7:56                               ` Herbert Xu
2022-06-30 17:28                                 ` pr-tracker-bot
2022-08-31  8:55                                 ` [GIT PULL] Crypto Fixes for 6.0 Herbert Xu
2022-08-31 17:20                                   ` pr-tracker-bot
2022-10-17  4:38                                 ` [GIT PULL] Crypto Fixes for 6.1 Herbert Xu
2022-10-17 17:51                                   ` pr-tracker-bot
2022-10-28  4:58                                   ` Herbert Xu
2022-10-28 17:00                                     ` Linus Torvalds
2022-11-02  9:49                                       ` Herbert Xu
2022-10-28 17:02                                     ` pr-tracker-bot
2023-01-06  9:15                                     ` [GIT PULL] Crypto Fixes for 6.2 Herbert Xu
2023-01-06 21:19                                       ` pr-tracker-bot
2023-03-05 10:15                                       ` [GIT PULL] Crypto Fixes for 6.3 Herbert Xu
2023-03-05 19:37                                         ` pr-tracker-bot
2023-05-07 13:19                                         ` [GIT PULL] Crypto Fixes for 6.4 Herbert Xu
2023-05-07 18:12                                           ` pr-tracker-bot
2023-05-29  3:41                                           ` Herbert Xu
2023-05-29 11:39                                             ` pr-tracker-bot
2023-07-09 23:51                                             ` [GIT PULL] Crypto Fixes for 6.5 Herbert Xu
2023-07-10 17:20                                               ` pr-tracker-bot
2023-08-21  3:37                                               ` Herbert Xu
2023-08-21  5:09                                                 ` pr-tracker-bot
2023-08-31  5:16                                                 ` [GIT PULL] Crypto Fixes for 6.6 Herbert Xu
2023-09-01 23:19                                                   ` pr-tracker-bot
2023-09-22  2:10                                                   ` Herbert Xu
2023-09-22 16:43                                                     ` pr-tracker-bot
2023-10-10  8:46                                                     ` Herbert Xu
2023-10-10 18:54                                                       ` pr-tracker-bot
2023-10-21  9:23                                                       ` Herbert Xu
2023-10-21 17:57                                                         ` pr-tracker-bot
2023-11-09  4:30                                                   ` [GIT PULL] Crypto Fixes for 6.7 Herbert Xu
2023-11-10  1:30                                                     ` pr-tracker-bot
2022-08-02  6:05                             ` [GIT PULL] Crypto Update for 5.20 Herbert Xu
2022-08-03  0:57                               ` pr-tracker-bot
2022-10-04  8:54                               ` [GIT PULL] Crypto Update for 6.1 Herbert Xu
2022-10-10 20:56                                 ` pr-tracker-bot
2022-12-14  8:15                                 ` [GIT PULL] Crypto Update for 6.2 Herbert Xu
2022-12-14 22:25                                   ` pr-tracker-bot
2023-02-20  5:22                                   ` [GIT PULL] Crypto Update for 6.3 Herbert Xu
2023-02-22  2:50                                     ` pr-tracker-bot
2023-04-24  4:52                                     ` [GIT PULL] Crypto Update for 6.4 Herbert Xu
2023-04-26 17:06                                       ` pr-tracker-bot
2023-06-29  5:06                                       ` [GIT PULL] Crypto Update for 6.5 Herbert Xu
2023-07-01  5:04                                         ` pr-tracker-bot
2023-08-28  9:22                                         ` [GIT PULL] Crypto Update for 6.6 Herbert Xu
2023-08-29 19:00                                           ` pr-tracker-bot
2023-11-02  6:56                                           ` [GIT PULL] Crypto Update for 6.7 Herbert Xu
2023-11-03  2:34                                             ` Linus Torvalds
2023-11-03  5:52                                               ` Herbert Xu
2023-11-03  6:32                                                 ` Linus Torvalds
2023-11-06 10:00                                                   ` [PATCH] crypto: jitterentropy - Hide esoteric Kconfig options under FIPS and EXPERT Herbert Xu
2023-11-06 15:25                                                     ` Stephan Mueller
2023-11-10  9:04                                                     ` Geert Uytterhoeven
2023-11-03  2:37                                             ` [GIT PULL] Crypto Update for 6.7 pr-tracker-bot
2024-01-09 22:17                                             ` [GIT PULL] Crypto Update for 6.8 Herbert Xu
2024-01-10 20:38                                               ` pr-tracker-bot
2024-02-01  5:32                                               ` [GIT PULL] Crypto Fixes " Herbert Xu
2024-02-01 18:23                                                 ` pr-tracker-bot
2024-02-08  4:29                                                 ` Herbert Xu
2024-02-08  6:24                                                   ` pr-tracker-bot
2024-02-21  9:10                                                   ` Herbert Xu
2024-02-21 17:17                                                     ` pr-tracker-bot
2024-02-28  8:07                                                     ` Herbert Xu
2024-02-28 17:48                                                       ` pr-tracker-bot
2024-03-06  9:47                                                       ` Herbert Xu
2024-03-06 16:33                                                         ` pr-tracker-bot
2024-03-25  9:47                                                 ` [GIT PULL] Crypto Fixes for 6.9 Herbert Xu
2024-03-25 18:18                                                   ` pr-tracker-bot
2024-05-20  3:26                                                   ` [GIT PULL] Crypto Fixes for 6.10 Herbert Xu
2024-05-20 16:33                                                     ` pr-tracker-bot
2024-03-15  3:04                                               ` [GIT PULL] Crypto Update for 6.9 Herbert Xu
2024-03-15 21:51                                                 ` Linus Torvalds
2024-03-16  4:39                                                   ` Herbert Xu
2024-03-15 21:59                                                 ` pr-tracker-bot
2024-05-13  3:50                                                 ` [GIT PULL] Crypto Update for 6.10 Herbert Xu
2024-05-13 22:12                                                   ` Linus Torvalds [this message]
2024-05-14  5:17                                                     ` Herbert Xu
2024-05-14  5:41                                                       ` Linus Torvalds
2024-05-14  6:02                                                         ` Herbert Xu
2024-05-14  6:54                                                     ` Lukas Wunner
2024-05-14 17:07                                                       ` Linus Torvalds
2024-05-13 22:38                                                   ` pr-tracker-bot
2020-10-12  3:32 ` [GIT PULL] Crypto Update for 5.10 Herbert Xu
2020-10-13 16:24   ` pr-tracker-bot
2020-12-14  5:55   ` [GIT PULL] Crypto Update for 5.11 Herbert Xu
2020-12-14 20:56     ` pr-tracker-bot
2021-02-15  2:47     ` [GIT PULL] Crypto Update for 5.12 Herbert Xu
2021-02-22  1:28       ` pr-tracker-bot
2021-04-26 12:32       ` [GIT PULL] Crypto Update for 5.13 Herbert Xu
2021-04-26 15:59         ` pr-tracker-bot
2021-06-28 11:00         ` [GIT PULL] Crypto Update for 5.14 Herbert Xu
2021-06-28 23:36           ` pr-tracker-bot
2021-08-30  8:28           ` [GIT PULL] Crypto Update for 5.15 Herbert Xu
2021-08-30 20:17             ` pr-tracker-bot
2021-11-02  3:52             ` [GIT PULL] Crypto Update for 5.16 Herbert Xu
2021-11-02  4:27               ` pr-tracker-bot
2022-01-11  2:04               ` [GIT PULL] Crypto Update for 5.17 Herbert Xu
2022-01-11 20:53                 ` pr-tracker-bot
2022-03-20 23:42                 ` [GIT PULL] Crypto Update for 5.18 Herbert Xu
2022-03-21 23:14                   ` Linus Torvalds
2022-03-22  5:49                     ` Herbert Xu
2022-03-21 23:18                   ` pr-tracker-bot

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='CAHk-=wjmwmWv3sDCNq8c4VHWZUtZH72tDqR=TcgfpxTegL=aZw@mail.gmail.com' \
    --to=torvalds@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=herbert@gondor.apana.org.au \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lukas@wunner.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.