Daniel Jordan <daniel.m.jordan@xxxxxxxxxx> writes: > On Wed, Oct 10, 2018 at 03:19:09PM +0800, Huang Ying wrote: >> +#ifdef CONFIG_THP_SWAP >> +/* >> + * The corresponding page table shouldn't be changed under us, that >> + * is, the page table lock should be held. >> + */ >> +int split_swap_cluster_map(swp_entry_t entry) >> +{ >> + struct swap_info_struct *si; >> + struct swap_cluster_info *ci; >> + unsigned long offset = swp_offset(entry); >> + >> + VM_BUG_ON(!IS_ALIGNED(offset, SWAPFILE_CLUSTER)); >> + si = _swap_info_get(entry); >> + if (!si) >> + return -EBUSY; > > I think this return value doesn't get used anywhere? Yes. And the error is only possible if page table is corrupted. So maybe add a VM_BUG_ON() in it caller __split_huge_swap_pmd()? Best Regards, Huang, Ying