]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
lib/scatterlist: fix temp buffer in extract_user_to_sg()
authorChristian A. Ehrhardt <lk@c--e.de>
Thu, 26 Mar 2026 21:49:02 +0000 (22:49 +0100)
committerAndrew Morton <akpm@linux-foundation.org>
Fri, 3 Apr 2026 06:36:23 +0000 (23:36 -0700)
commit118cf3f55975352ac357fb194405031458186819
tree1a09d6764701c0d82ba0d332bf641697c901936a
parent07b7d66e65d9cfe6b9c2c34aa22cfcaac37a5c45
lib/scatterlist: fix temp buffer in extract_user_to_sg()

Instead of allocating a temporary buffer for extracted user pages
extract_user_to_sg() uses the end of the to be filled scatterlist as a
temporary buffer.

Fix the calculation of the start address if the scatterlist already
contains elements.  The unused space starts at sgtable->sgl +
sgtable->nents not directly at sgtable->nents and the temporary buffer is
placed at the end of this unused space.

A subsequent commit will add kunit test cases that demonstrate that the
patch is necessary.

Pointed out by sashiko.dev on a previous iteration of this series.

Link: https://lkml.kernel.org/r/20260326214905.818170-3-lk@c--e.de
Fixes: 018584697533 ("netfs: Add a function to extract an iterator into a scatterlist")
Signed-off-by: Christian A. Ehrhardt <lk@c--e.de>
Cc: David Howells <dhowells@redhat.com>
Cc: David Gow <davidgow@google.com>
Cc: Kees Cook <kees@kernel.org>
Cc: Petr Mladek <pmladek@suse.com>
Cc: <stable@vger.kernel.org> [v6.5+]
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
lib/scatterlist.c