Re: [PATCH] mm: Don't warn if memdup_user fails

From: David Rientjes
Date: Thu Jan 12 2012 - 16:20:05 EST


On Thu, 12 Jan 2012, Pekka Enberg wrote:

> I think you missed Andrew's point. We absolutely want to issue a
> kernel warning here because ecryptfs is misusing the memdup_user()
> API. We must not let userspace processes allocate large amounts of
> memory arbitrarily.
>

I think it's good to fix ecryptfs like Tyler is doing and, at the same
time, ensure that the len passed to memdup_user() makes sense prior to
kmallocing memory with GFP_KERNEL. Perhaps something like

if (WARN_ON(len > PAGE_SIZE << PAGE_ALLOC_COSTLY_ORDER))
return ERR_PTR(-ENOMEM);

in which case __GFP_NOWARN is irrelevant. I think memdup_user() should
definitely be taking gfp flags, though, so the caller can specify things
like __GFP_NORETRY on its own to avoid infinitely looping in the page
allocator trying reclaim and possibly calling the oom killer.
--
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/