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

From: Huang, Ying
Date: Thu Jan 21 2021 - 19:03:18 EST


Matthew Wilcox <willy@xxxxxxxxxxxxx> writes:

> 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?

Sure. Will use that in the next version.

Best Regards,
Huang, Ying

>> 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
>>
>>