On Fri, May 01, 2020 at 01:50:49PM +0100, Al Viro wrote: > On Fri, May 01, 2020 at 12:41:05PM +0200, Christoph Hellwig wrote: > > Currently copy_string_kernel is just a wrapper around copy_strings that > > simplifies the calling conventions and uses set_fs to allow passing a > > kernel pointer. But due to the fact the we only need to handle a single > > kernel argument pointer, the logic can be sigificantly simplified while > > getting rid of the set_fs. > > I can live with that... BTW, why do we bother with flush_cache_page() (by > way of get_arg_page()) here and in copy_strings()? How could *anything* > have accessed that page by its address in new mm - what are we trying to > flush here? s/get_arg_page/flush_arg_page/ ? No idea, what the use case is, but this comes from: commit b6a2fea39318e43fee84fa7b0b90d68bed92d2ba Author: Ollie Wild <aaw@xxxxxxxxxx> Date: Thu Jul 19 01:48:16 2007 -0700 mm: variable length argument support