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

From: Sergey Senozhatsky
Date: Wed Sep 27 2017 - 20:42:10 EST


On (09/26/17 17:26), Andrew Morton 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?

ah, OK. will follow up.

-ss