Patch "btrfs: add the missing error handling inside get_canonical_dev_path" has been added to the 6.12-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    btrfs: add the missing error handling inside get_canonical_dev_path

to the 6.12-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     btrfs-add-the-missing-error-handling-inside-get_cano.patch
and it can be found in the queue-6.12 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit e3209b40abc256afb1bf6d333855af2f3a448e8d
Author: Qu Wenruo <wqu@xxxxxxxx>
Date:   Wed Jan 8 14:14:04 2025 +1030

    btrfs: add the missing error handling inside get_canonical_dev_path
    
    [ Upstream commit fe4de594f7a2e9bc49407de60fbd20809fad4192 ]
    
    Inside function get_canonical_dev_path(), we call d_path() to get the
    final device path.
    
    But d_path() can return error, and in that case the next strscpy() call
    will trigger an invalid memory access.
    
    Add back the missing error handling for d_path().
    
    Reported-by: Boris Burkov <boris@xxxxxx>
    Fixes: 7e06de7c83a7 ("btrfs: canonicalize the device path before adding it")
    Signed-off-by: Qu Wenruo <wqu@xxxxxxxx>
    Signed-off-by: David Sterba <dsterba@xxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/fs/btrfs/volumes.c b/fs/btrfs/volumes.c
index 0c4d14c59ebec..395b8b880ce78 100644
--- a/fs/btrfs/volumes.c
+++ b/fs/btrfs/volumes.c
@@ -797,6 +797,10 @@ static int get_canonical_dev_path(const char *dev_path, char *canonical)
 	if (ret)
 		goto out;
 	resolved_path = d_path(&path, path_buf, PATH_MAX);
+	if (IS_ERR(resolved_path)) {
+		ret = PTR_ERR(resolved_path);
+		goto out;
+	}
 	ret = strscpy(canonical, resolved_path, PATH_MAX);
 out:
 	kfree(path_buf);




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux