Re: [PATCH v3 2/2] mm/memfd: Use strncpy_from_user() to read memfd name

From: Isaac Manjarres
Date: Fri Jan 10 2025 - 11:43:40 EST


On Fri, Jan 10, 2025 at 12:48:44PM +0000, Lorenzo Stoakes wrote:
> On Thu, Jan 09, 2025 at 10:59:05AM -0800, Isaac J. Manjarres wrote:
> > The existing logic uses strnlen_user() to calculate the length of the
> > memfd name from userspace and then copies the string into a buffer using
> > copy_from_user(). This is error-prone, as the string length
> > could have changed between the time when it was calculated and when the
> > string was copied. The existing logic handles this by ensuring that the
> > last byte in the buffer is the terminating zero.
> >
> > This handling is contrived and can better be handled by using
> > strncpy_from_user(), which gets the length of the string and copies
> > it in one shot. Therefore, simplify the logic for copying the memfd
> > name by using strncpy_from_user().
> >
> > No functional change.
> >
> > Reviewed-by: Alice Ryhl <aliceryhl@xxxxxxxxxx>
> > Signed-off-by: Isaac J. Manjarres <isaacmanjarres@xxxxxxxxxx>
>
> LGTM,
>
> Reviewed-by: Lorenzo Stoakes <lorenzo.stoakes@xxxxxxxxxx>
>

Thank you!

--Isaac