Re: [PATCH 1/3] big key: get rid of stack array allocation

From: Eric Biggers
Date: Tue Apr 24 2018 - 16:09:16 EST


On Tue, Apr 24, 2018 at 02:58:45PM -0500, Serge E. Hallyn wrote:
> Quoting Tycho Andersen (tycho@xxxxxxxx):
> > On Tue, Apr 24, 2018 at 11:46:38PM +0900, Tetsuo Handa wrote:
> > > Tycho Andersen wrote:
> > > > > > + if (unlikely(crypto_aead_ivsize(big_key_aead) != GCM_AES_IV_SIZE)) {
> > > > > > + WARN(1, "big key algorithm changed?");
> > >
> > > Please avoid using WARN() WARN_ON() etc.
> > > syzbot would catch it and panic() due to panic_on_warn == 1.
> >
> > But it is really a programming bug in this case (and it seems better
> > than BUG()...). Isn't this exactly the sort of case we want to catch?
> >
> > Tycho
>
> Right - is there a url to some discussion about this? Because not
> using WARN when WARN should be used, because it troubles a bot, seems
> the wrong solution. If this *is* what's been agreed upon, then
> what is the new recommended thing to do here?
>
> -serge

WARN() is for recoverable kernel bugs, which this is, so WARN() is correct here.
Fuzzers often find cases where WARN() is used on invalid user input or other
cases that are not kernel bugs, and then it has to be removed or replaced with
pr_warn(). But here it is appropriate. Unfortunately a lot of developers still
seem confused; improving the comments in include/asm-generic/bug.h might help.

Eric