Re: [PATCH] zsmalloc: calling zs_map_object() from irq is a bug

From: Andrew Morton
Date: Tue Sep 26 2017 - 20:26:58 EST


On Wed, 20 Sep 2017 15:47:39 +0900 Minchan Kim <minchan@xxxxxxxxxx> wrote:

> On Wed, Sep 20, 2017 at 03:39:41PM +0900, Sergey Senozhatsky wrote:
> > Use BUG_ON(in_interrupt()) in zs_map_object(). Calling this
> > function from IRQ is a bug, because we use per-CPU mappings
> > and interrupt may corrupt those buffers.
> >
> > Signed-off-by: Sergey Senozhatsky <sergey.senozhatsky@xxxxxxxxx>
>
> IMHO, corruption the buffer would be not enough to be a BUG_ON
> which stop the system fully so user loses any chances to shut
> down smooth/hunt it down.
>
> More serious thing of our case is that it can leak other user's
> data by overwriting, which is more concern I am thinking now.
>

In an off-list email Linus has basically stated that all new uses of
BUG_ON should include words in the changelog or code comments
explaining why it is justifiable to kill the machine when the condition
triggers.

So can we please have a v2 with the appropriate comment?