On Fri, Apr 02, 2021 at 12:33:20AM -0700, Omar Sandoval wrote: > On Thu, Apr 01, 2021 at 09:05:22AM -0700, Linus Torvalds wrote: > > On Wed, Mar 31, 2021 at 11:51 PM Omar Sandoval <osandov@xxxxxxxxxxx> wrote: > > > > > > + * > > > + * The recommended usage is something like the following: > > > + * > > > + * if (usize > PAGE_SIZE) > > > + * return -E2BIG; > > > > Maybe this should be more than a recommendation, and just be inside > > copy_struct_from_iter(), because otherwise the "check_zeroed_user()" > > call might be quite the timesink for somebody who does something > > stupid. > > I did actually almost send this out with the check in > copy_struct_from_iter(), but decided not to for consistency with > copy_struct_from_user(). > > openat2() seems to be the only user of copy_struct_from_user() that > doesn't limit to PAGE_SIZE, which is odd given that Aleksa wrote both Al said there's nothing wrong with copying large chunks of memory so we shouldn't limit the helper but instead limit the callers which have expectations about their size limit: https://lore.kernel.org/lkml/20190905182801.GR1131@xxxxxxxxxxxxxxxxxx/ Christian