When we send a message to a device that has no table, the return code was
not set. The code would return "2", which is not considered a valid return 
value.

Signed-off-by: Mikulas Patocka <[email protected]>
Cc: [email protected]

---
 drivers/md/dm-ioctl.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

Index: linux-2.6/drivers/md/dm-ioctl.c
===================================================================
--- linux-2.6.orig/drivers/md/dm-ioctl.c        2026-04-27 19:06:34.000000000 
+0200
+++ linux-2.6/drivers/md/dm-ioctl.c     2026-05-06 22:10:09.000000000 +0200
@@ -1816,8 +1816,11 @@ static int target_message(struct file *f
                goto out_argv;
 
        table = dm_get_live_table(md, &srcu_idx);
-       if (!table)
+       if (!table) {
+               DMERR("The device has no table.");
+               r = -EINVAL;
                goto out_table;
+       }
 
        if (dm_deleting_md(md)) {
                r = -ENXIO;


Reply via email to