Re: Hang on large copy_from_user with PREEMPT_NONE

From: Dave Jones
Date: Tue Apr 07 2015 - 13:59:06 EST


On Tue, Apr 07, 2015 at 10:33:49AM -0700, Linus Torvalds wrote:
> On Tue, Apr 7, 2015 at 10:00 AM, Sasha Levin <sasha.levin@xxxxxxxxxx> wrote:
> >
> > It locks up quickly without KASan as well.
>
> I suspect it's some virtualization artifact, where the writes cause
> COW faults (or just memory allocations) in the L0 domain.
>
> Whatever. It's probably not worth fighting. Either we just decide that
> "copy_from_user()" shouldn't bother to zero huge areas (limit the
> zeroing to some arbitrary size), or we just special-case the module
> loading.
>
> +#define COPY_CHUNK_SIZE (16*PAGE_SIZE)

This needs to be bigger, just to accomodate things like xfs, which
on my system is over 1mb. I think some out-of-tree modules
(not that I care deeply) are even bigger.

Special casing might be an easier call.

Dave

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/