Re: [RFC PATCH v2 04/11] PCI/P2PDMA: Introduce pci_p2pdma_should_map_bus() and pci_p2pdma_bus_offset()

From: Christian König
Date: Wed Mar 24 2021 - 14:35:42 EST


Am 24.03.21 um 18:21 schrieb Jason Gunthorpe:
On Mon, Mar 15, 2021 at 10:27:08AM -0600, Logan Gunthorpe wrote:

In this case the WARN_ON is just to guard against misuse of the
function. It should never happen unless a developer changes the code in
a way that is incorrect. So I think that's the correct use of WARN_ON.
Though I might change it to WARN and return, that seems safer.
Right, WARN_ON and return is the right pattern for an assertion that
must never happen:

if (WARN_ON(foo))
return -1

Linus wants assertions like this to be able to recover. People runing
the 'panic on warn' mode want the kernel to stop if it detects an
internal malfunction.

The only justification I can see for a "panic on warn" is to prevent further data loss or warn early about a crash.

We only use a BUG_ON() when the alternative would be to corrupt something.

Christian.


Jason