On 4/29/20 11:11 PM, Zhen Lei wrote: > Both "slots" and "slots_ret" are only need to be freed when cache already > allocated. Make them closer, seems more clear. > > No functional change. > > Signed-off-by: Zhen Lei <thunder.leizhen@xxxxxxxxxx> > --- > mm/swap_slots.c | 18 +++++++++--------- > 1 file changed, 9 insertions(+), 9 deletions(-) > > diff --git a/mm/swap_slots.c b/mm/swap_slots.c > index 0975adc72253..01609b5f0c55 100644 > --- a/mm/swap_slots.c > +++ b/mm/swap_slots.c > @@ -136,9 +136,16 @@ static int alloc_swap_slot_cache(unsigned int cpu) > > mutex_lock(&swap_slots_cache_mutex); > cache = &per_cpu(swp_slots, cpu); > - if (cache->slots || cache->slots_ret) > + if (cache->slots || cache->slots_ret) { > /* cache already allocated */ > - goto out; > + mutex_unlock(&swap_slots_cache_mutex); > + > + kvfree(slots); > + kvfree(slots_ret); > + > + return 0; > + } > + > if (!cache->lock_initialized) { > mutex_init(&cache->alloc_lock); > spin_lock_init(&cache->free_lock); > @@ -155,15 +162,8 @@ static int alloc_swap_slot_cache(unsigned int cpu) > */ > mb(); > cache->slots = slots; > - slots = NULL; > cache->slots_ret = slots_ret; > - slots_ret = NULL; > -out: > mutex_unlock(&swap_slots_cache_mutex); > - if (slots) > - kvfree(slots); > - if (slots_ret) > - kvfree(slots_ret); > return 0; > } > > Acked-by: Tim Chen <tim.c.chen@xxxxxxxxxxxxxxx>