[Devel] [PATCH RHEL10 COMMIT] dm-qcow2: fix ALLOW_ERROR_INJECTION class on qcow2_alloc_delta (ERRNO not NULL)

Konstantin Khorenko khorenko at virtuozzo.com
Wed Aug 5 23:39:07 MSK 2026


The commit is pushed to "branch-rh10-6.12.0-211.39.1.16.x.vz10-ovz" and will appear at git at bitbucket.org:openvz/vzkernel.git
after rh10-6.12.0-211.39.1.16.2.vz10
------>
commit 54ac024fe0a363532284b47134aabf00a55a9cee
Author: Konstantin Khorenko <khorenko at virtuozzo.com>
Date:   Mon Jul 6 13:00:00 2026 +0200

    dm-qcow2: fix ALLOW_ERROR_INJECTION class on qcow2_alloc_delta (ERRNO not NULL)
    
    qcow2_alloc_delta() returns a valid pointer or ERR_PTR(-ENOMEM); it
    never returns NULL, and its only caller qcow2_ctr() checks IS_ERR()
    only, then dereferences the result (qcow2->img_id = i).
    
    It was annotated ALLOW_ERROR_INJECTION(..., NULL), whose default
    injected return value is 0 (NULL), which slips past the IS_ERR() check
    and NULL-derefs.
    
    Use ERRNO (error pointers only), matching the function's contract and
    the caller's handling.
    
    Fixes: b800ab29c49d1 ("dm-qcow2: Enable injection fault")
    Feature: dm-qcow2: block device over QCOW2 files driver
    https://virtuozzo.atlassian.net/browse/VSTOR-137234
    Signed-off-by: Konstantin Khorenko <khorenko at virtuozzo.com>
    Reviewed-by: Pavel Tikhomirov <ptikhomirov at virtuozzo.com>
---
 drivers/md/dm-qcow2-target.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/md/dm-qcow2-target.c b/drivers/md/dm-qcow2-target.c
index 3f65897ce9da2..de1fb628735b7 100644
--- a/drivers/md/dm-qcow2-target.c
+++ b/drivers/md/dm-qcow2-target.c
@@ -678,7 +678,7 @@ static struct qcow2 *qcow2_alloc_delta(struct qcow2_target *tgt, struct qcow2 *u
 
 	return qcow2;
 }
-ALLOW_ERROR_INJECTION(qcow2_alloc_delta, NULL);
+ALLOW_ERROR_INJECTION(qcow2_alloc_delta, ERRNO);
 
 static int qcow2_attach_file(struct dm_target *ti, struct qcow2_target *tgt,
 			     struct qcow2 *qcow2, int fd)


More information about the Devel mailing list