From: Marc Zyngier <maz@kernel.org>
To: Paran Lee <p4ranlee@gmail.com>
Cc: Thomas Gleixner <tglx@linutronix.de>,
linux-kernel@vger.kernel.org, shjy180909@gmail.com,
austindh.kim@gmail.com
Subject: Re: [PATCH] irqdesc: Fail check on early_irq_init allocation.
Date: Sun, 12 Nov 2023 15:08:05 +0000 [thread overview]
Message-ID: <87edgvxb56.wl-maz@kernel.org> (raw)
In-Reply-To: <1f6e21c1-7340-ed40-f2a7-66c063b453cb@gmail.com>
On Sun, 12 Nov 2023 14:19:28 +0000,
Paran Lee <p4ranlee@gmail.com> wrote:
> On 2023-11-12 오후 11:00, Marc Zyngier wrote:
>
> Thanks for the code review Marc!
>
> I think function alloc_descs() in irqdesc.c has also alloc_desc() fail
> handling, and there's kernel-wide code consistency checking for
> allocation failures, and I thought it would be nice to mark it.
alloc_descs() and early_irq_init() are very different beasts. The
former can be used *at any time* over the kernel's lifetime, while the
latter is only used *once*. This makes a whole lot a difference, don't
you think?
> So that the code is aware of it.
>
> Even if it panics with a null derefence reference.
Don't you think it is a bit pointless to trade a fatal error for
another one?
>
> > A failing allocation already results in a massive splat describing how
> > the allocation failed. Further use of the NULL pointer will also
> > result in a terminal oops, particularly if this happens this early in
> > the boot sequence.
> >
> > So what do these BUG_ON() calls buy us?
> >
> > M.
> >
>
> If anyone has any ideas on how to get a little fancier with the allocation,
> I'll send a v2 patch in that direction.
It's not about being fancy. It is about being useful. Your BUG_ON()s
are not making things any better for early allocation failures.
A much better idea would be to *get rid* of early allocation failures
altogether, by moving all architectures to SPARSE_IRQ and making sure
that NR_LEGAY_IRQ is always zero, meaning there is nothing to
allocate. That would be something useful.
But adding random BUG_ON() based on the dogma that all allocations
must be checked doesn't bring value to the kernel as a whole.
M.
--
Without deviation from the norm, progress is not possible.
next prev parent reply other threads:[~2023-11-12 15:08 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-11-11 17:00 [PATCH] irqdesc: Fail check on early_irq_init allocation Paran Lee
2023-11-12 14:00 ` Marc Zyngier
2023-11-12 14:19 ` Paran Lee
2023-11-12 15:08 ` Marc Zyngier [this message]
2023-11-12 15:21 ` Paran Lee
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=87edgvxb56.wl-maz@kernel.org \
--to=maz@kernel.org \
--cc=austindh.kim@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=p4ranlee@gmail.com \
--cc=shjy180909@gmail.com \
--cc=tglx@linutronix.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.