Jerome Marchand <[email protected]> wrote:
> In assoc_array_insert_into_terminal_node(), we call the
> compare_object() method on all empty slots,
Ummm... That shouldn't happen - the:
if (!ptr) {
free_slot = i;
continue;
}
preceding the line you modified should cause the comparison to be skipped on a
slot if it's empty.
> even when they're not leaves, passing a pointer to an unexpected structure
> to compare_object().
Do you instead mean a metadata pointer rather than an empty slot?
> Currently it causes an out-of-bound read access in keyring_compare_object
> detected by KASan. The issue is easily reproduced with keyutils testsuite.
I don't see it. Did you modify the testsuite, or is it a matter of running it
often enough?
Also, can you include the oops output you get in the patch description,
please?
That said, I can see that there is probably an issue that your patch fixes -
but it's not quite the one you describe (see above).
David