[dm-devel] [PATCH][next] dm btree: Fix potential read of array with negative index i
Edward Thornber
thornber at redhat.com
Tue May 25 09:58:26 UTC 2021
ack
On Fri, May 21, 2021 at 11:52 AM Colin King <colin.king at canonical.com>
wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> The call to lower_bound can return -1 if the key is not found
> with the bsearch, leading to a negative index access into
> array node->keys[]. Ensure this cannot occur by checking for
> a negative index before reading from the array.
>
> Addresses-Coverity: ("Negative array index read")
> Fixes: d69e2e7e28bd ("dm btree: improve btree residency")
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> drivers/md/persistent-data/dm-btree.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/md/persistent-data/dm-btree.c
> b/drivers/md/persistent-data/dm-btree.c
> index b8d21b6e2953..266deaea5eea 100644
> --- a/drivers/md/persistent-data/dm-btree.c
> +++ b/drivers/md/persistent-data/dm-btree.c
> @@ -1048,7 +1048,7 @@ static bool contains_key(struct btree_node *node,
> uint64_t key)
> {
> int i = lower_bound(node, key);
>
> - if (le64_to_cpu(node->keys[i]) == key)
> + if (i >= 0 && le64_to_cpu(node->keys[i]) == key)
> return true;
>
> return false;
> --
> 2.31.1
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/dm-devel/attachments/20210525/90442ba9/attachment.htm>
More information about the dm-devel
mailing list