On Sat, Oct 29, 2022 at 8:20 PM 'David Gow' via KUnit Development kunit-dev@googlegroups.com wrote:
On Fri, Oct 28, 2022 at 10:43 PM YoungJun.park her0gyugyu@gmail.com wrote:
When it fails to allocate fragment, it does not free and return error. And check the pointer inappropriately.
Signed-off-by: YoungJun.park her0gyugyu@gmail.com
Thanks! As MaĆra points out, the added kunit_kfree() call isn't strictly necessary, though it definitely doesn't hurt (and it's probably a nice thing to free memory early if we're already in a pretty dire memory situation). So I think it's an improvement.
The IS_ERR check is definitely a fix, though.
Note: the IS_ERR check was fixed already in https://patchwork.kernel.org/project/linux-kselftest/patch/Y0kt1aCTHO4r2CmL@... That change has made its way into torvalds/master. So we could rebase this patch and reword it to talk just about the early kfree().
Re free memory early: It'll save us sizeof(struct string_stream_fragment) + sizeof(struct kunit_resource), i.e. 24 + 56 = 80 bytes (on UML/x86_64). So it's not much, but I guess it could help in edge cases.
Daniel