BUG_ON when zsmalloc from IRQ (was zram: fix null dereference of handle)

From: Sergey Senozhatsky
Date: Tue Sep 19 2017 - 06:38:34 EST


ah... this should have had another Subject line....
sorry.

-ss

On (09/19/17 19:21), Sergey Senozhatsky wrote:
> Minchan,
>
> I just ran across it [because I had a bug to analize where this
> part was involved]. I'd really prefer the kernel to BUG_ON immediately
> instead of dying in agony.
>
> can we, please, return BUG_ON() back?
>
> there is no point in trying to save the kernel once it did that type
> of violation.
>
> ---
>
> diff --git a/mm/zsmalloc.c b/mm/zsmalloc.c
> index 7c38e850a8fc..685049a9048d 100644
> --- a/mm/zsmalloc.c
> +++ b/mm/zsmalloc.c
> @@ -1349,7 +1349,7 @@ void *zs_map_object(struct zs_pool *pool, unsigned long handle,
> * pools/users, we can't allow mapping in interrupt context
> * because it can corrupt another users mappings.
> */
> - WARN_ON_ONCE(in_interrupt());
> + BUG_ON(in_interrupt());
>
> /* From now on, migration cannot move the object */
> pin_tag(handle);
>