Re: [PATCH] swap: Check nrexceptional of swap cache before being freed

From: Matthew Wilcox
Date: Thu Jan 21 2021 - 15:07:46 EST


On Wed, Jan 20, 2021 at 03:27:11PM +0800, Huang Ying wrote:
> To catch the error in updating the swap cache shadow entries or their count.

I just resent a patch that removes nrexceptional tracking.

Can you use !mapping_empty() instead?

> void exit_swap_address_space(unsigned int type)
> {
> - kvfree(swapper_spaces[type]);
> + int i;
> + struct address_space *spaces = swapper_spaces[type];
> +
> + for (i = 0; i < nr_swapper_spaces[type]; i++)
> + VM_BUG_ON(spaces[i].nrexceptional);
> + kvfree(spaces);
> nr_swapper_spaces[type] = 0;
> swapper_spaces[type] = NULL;
> }
> --
> 2.29.2
>
>