Re: Should we delete memmove_page?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, May 26, 2022 at 03:48:28PM +0100, Matthew Wilcox wrote:
> 
> I was looking at memmove_page() and it occurred to me that it can't
> actually work,

Oh wow yea.  Because you can't unmap that address correctly.

>
> so we should probably delete it as being an attractive
> nuisance.  It doesn't have any users.
> 
> memmove() isn't magic.  It compares the source address, source length,
> destination address and destination length, and then does either a
> forwards copy or a backwards copy, depending where the overlap is.
> 
> But 'dst' and 'src' are guaranteed to be non-overlapping.  They come from
> different calls to kmap_local_page(), so even if src_page and dst_page
> are the same, src and dst will be different.
> 
> We could fix it up.  Include a compare of 'dst_page' and 'src_page'
> and if they're the same only kmap_local_page() one of them.  But since
> it has no users, perhaps just delete it?

Yes deletion is best.  But...

	copy_user_highpage()
	copy_highpage()

... might suffer from the same potential issue should a user not realize.  I
think memcpy_page() by virtue of the name.

Still perhaps a kernel doc may be in order.

I could not say anything at LSFmm because the Outreachy interns had not been
announced but I've selected Fabio to help with the highmem rework through that
program.

Would you like Fabio or I to send a patch?  I think the main thing right now is
to just drop the memmove_page()

Ira




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux