All Virtuozzo development lists (kernel + QEMU)
 help / color / mirror / Atom feed
From: Konstantin Khorenko <khorenko@virtuozzo.com>
Subject: [Devel] [PATCH RHEL10 COMMIT] dm-ploop: use the ERRNO fault injection class for ploop_get_delta_file()
Date: Wed, 19 Aug 2026 18:57:36 +0200	[thread overview]
Message-ID: <202608191657.67JGvaFT497426@f0.sw.ru> (raw)
In-Reply-To: <20260819165629.497296-1-khorenko@virtuozzo.com>

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.6.vz10
------>
commit 1ab5dd2ffa73d34985c1e57dd4e3ab27c04fb4d4
Author: Konstantin Khorenko <khorenko@virtuozzo.com>
Date:   Wed Aug 19 18:33:35 2026 +0200

    dm-ploop: use the ERRNO fault injection class for ploop_get_delta_file()
    
    ploop_get_delta_file() returns a valid struct file * or an ERR_PTR(),
    never NULL, and its only caller relies on exactly that.
    
    The function, however, is annotated as
    
            ALLOW_ERROR_INJECTION(ploop_get_delta_file, ERRNO_NULL);
    
    So injecting a failure the default way makes the function return NULL,
    the NULL sails past IS_ERR() and vfs_fsync() dereferences it.
    
    This is the annotation misdescribing the function rather than a missing
    check in the caller: NULL is not a value ploop_get_delta_file() can ever
    return. Use the ERRNO class, which injects error pointers only.
    
    Fixes: 4fc49f0700e2 ("dm-ploop: Allow fault injection for all ploop functions")
    Feature: dm-ploop: ploop target driver
    https://virtuozzo.atlassian.net/browse/VSTOR-137234
    Signed-off-by: Konstantin Khorenko <khorenko@virtuozzo.com>
    Reviewed-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
---
 drivers/md/dm-ploop-target.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/md/dm-ploop-target.c b/drivers/md/dm-ploop-target.c
index 0de0e84d440d0..7dab95402def7 100644
--- a/drivers/md/dm-ploop-target.c
+++ b/drivers/md/dm-ploop-target.c
@@ -255,7 +255,7 @@ static struct file *ploop_get_delta_file(struct ploop *ploop, int fd)
 	return ERR_PTR(ret);
 
 }
-ALLOW_ERROR_INJECTION(ploop_get_delta_file, ERRNO_NULL);
+ALLOW_ERROR_INJECTION(ploop_get_delta_file, ERRNO);
 
 static int ploop_check_top_delta(struct ploop *ploop, struct file *file)
 {

      parent reply	other threads:[~2026-08-19 16:57 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <20260706110002.1024515-21-khorenko@virtuozzo.com>
2026-08-19 16:56 ` [Devel] [PATCH vz10 v2 1/2] " Konstantin Khorenko
2026-08-19 16:56   ` [Devel] [PATCH vz10 v2 2/2] dm-ploop: fix NULL deref in ploop_destroy() when ploop_ctr() failed early Konstantin Khorenko
2026-08-19 16:57     ` [Devel] [PATCH RHEL10 COMMIT] " Konstantin Khorenko
2026-08-19 16:57   ` Konstantin Khorenko [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202608191657.67JGvaFT497426@f0.sw.ru \
    --to=khorenko@virtuozzo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.