[PATCH RESEND 0/3] Fix length calculation bug in extract_kvec_to_sg

Christian A. Ehrhardt posted 3 patches 1 week, 5 days ago
There is a newer version of this series
lib/scatterlist.c          |   2 +-
lib/tests/kunit_iov_iter.c | 147 ++++++++++++++++++++++++++++++++++++-
2 files changed, 147 insertions(+), 2 deletions(-)
[PATCH RESEND 0/3] Fix length calculation bug in extract_kvec_to_sg
Posted by Christian A. Ehrhardt 1 week, 5 days ago
There is a bug in extract_kvec_to_sg() where the length
of a scatterlist segment is miscalculated. The actual fix
is a one-liner and it is quite obvious from reading the
code that this is what was intened.

As this is a core library function this series first adds
test cases to the kunit_iov_iter test that demonstrate that
there is a bug before actually fixing it in the last commit.

The bug was orignally introduced into kernel v6.3 where the
function lived in fs/netfs/iterator.c. It was later moved
to lib/scatterlist.c in v6.5. Thus the actual fix is only
marked for backports to v6.5+.

Christian A. Ehrhardt (3):
  lib: kunit_iov_iter: Improve error detection
  lib: kunit_iov_iter: Add tests for extract_iter_to_sg
  lib: Fix length calculation in extract_kvec_to_sg

 lib/scatterlist.c          |   2 +-
 lib/tests/kunit_iov_iter.c | 147 ++++++++++++++++++++++++++++++++++++-
 2 files changed, 147 insertions(+), 2 deletions(-)

-- 
2.43.0
Re: [PATCH RESEND 0/3] Fix length calculation bug in extract_kvec_to_sg
Posted by Josh Law 1 week, 5 days ago
On Mon, 23 Mar 2026 22:23:47 +0100, Christian A. Ehrhardt wrote:
> There is a bug in extract_kvec_to_sg() where the length
> of a scatterlist segment is miscalculated. The actual fix
> is a one-liner and it is quite obvious from reading the
> code that this is what was intened.
> 
> As this is a core library function this series first adds
> test cases to the kunit_iov_iter test that demonstrate that
> there is a bug before actually fixing it in the last commit.
> 
> The bug was orignally introduced into kernel v6.3 where the
> function lived in fs/netfs/iterator.c. It was later moved
> to lib/scatterlist.c in v6.5. Thus the actual fix is only
> marked for backports to v6.5+.
> 
> Christian A. Ehrhardt (3):
>   lib: kunit_iov_iter: Improve error detection
>   lib: kunit_iov_iter: Add tests for extract_iter_to_sg
>   lib: Fix length calculation in extract_kvec_to_sg
> 
>  lib/scatterlist.c          |   2 +-
>  lib/tests/kunit_iov_iter.c | 147 ++++++++++++++++++++++++++++++++++++-
>  2 files changed, 147 insertions(+), 2 deletions(-)

Reviewed-by: Josh Law <objecting@objecting.org>
Re: [PATCH RESEND 0/3] Fix length calculation bug in extract_kvec_to_sg
Posted by Josh Law 1 week, 4 days ago

On 24 March 2026 00:03:23 GMT, Josh Law <objecting@objecting.org> wrote:
>On Mon, 23 Mar 2026 22:23:47 +0100, Christian A. Ehrhardt wrote:
>> There is a bug in extract_kvec_to_sg() where the length
>> of a scatterlist segment is miscalculated. The actual fix
>> is a one-liner and it is quite obvious from reading the
>> code that this is what was intened.
>> 
>> As this is a core library function this series first adds
>> test cases to the kunit_iov_iter test that demonstrate that
>> there is a bug before actually fixing it in the last commit.
>> 
>> The bug was orignally introduced into kernel v6.3 where the
>> function lived in fs/netfs/iterator.c. It was later moved
>> to lib/scatterlist.c in v6.5. Thus the actual fix is only
>> marked for backports to v6.5+.
>> 
>> Christian A. Ehrhardt (3):
>>   lib: kunit_iov_iter: Improve error detection
>>   lib: kunit_iov_iter: Add tests for extract_iter_to_sg
>>   lib: Fix length calculation in extract_kvec_to_sg
>> 
>>  lib/scatterlist.c          |   2 +-
>>  lib/tests/kunit_iov_iter.c | 147 ++++++++++++++++++++++++++++++++++++-
>>  2 files changed, 147 insertions(+), 2 deletions(-)
>
>Reviewed-by: Josh Law <objecting@objecting.org>


(KUnit changes)

Tested-By: Josh Law <objecting@objecting.org>

Great patch! Keep it up!