Messages in this thread |  | | Date | Sat, 9 Jan 2021 17:40:16 +0000 | From | Matthew Wilcox <> | Subject | Re: [PATCH] mm/swap_slots.c: Remove unnecessary NULL pointer check |
| |
On Sat, Jan 09, 2021 at 03:09:43AM -0500, Miaohe Lin wrote: > The cache->slots and cache->slots_ret is already checked before we try to > drain it. And kvfree can handle the NULL pointer itself. So remove the > NULL pointer check here.
> @@ -178,7 +178,7 @@ static void drain_slots_cache_cpu(unsigned int cpu, unsigned int type, > swapcache_free_entries(cache->slots + cache->cur, cache->nr); > cache->cur = 0; > cache->nr = 0; > - if (free_slots && cache->slots) { > + if (free_slots) {
Prove that swapcache_free_entries() doesn't change cache->slots.
> @@ -188,13 +188,12 @@ static void drain_slots_cache_cpu(unsigned int cpu, unsigned int type, > spin_lock_irq(&cache->free_lock); > swapcache_free_entries(cache->slots_ret, cache->n_ret); > cache->n_ret = 0; > - if (free_slots && cache->slots_ret) { > + if (free_slots) {
... or ->slots_ret
> - if (slots) > - kvfree(slots); > + kvfree(slots);
This is fine.
|  |