]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
btrfs: fix warning on PTR_ERR() against NULL device at btrfs_control_ioctl()
authorFilipe Manana <fdmanana@suse.com>
Wed, 6 Nov 2024 12:14:09 +0000 (12:14 +0000)
committerDavid Sterba <dsterba@suse.com>
Mon, 11 Nov 2024 13:34:22 +0000 (14:34 +0100)
Smatch complains about calling PTR_ERR() against a NULL pointer:

  fs/btrfs/super.c:2272 btrfs_control_ioctl() warn: passing zero to 'PTR_ERR'

Fix this by calling PTR_ERR() against the device pointer only if it
contains an error.

Reviewed-by: Qu Wenruo <wqu@suse.com>
Signed-off-by: Filipe Manana <fdmanana@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/super.c

index 7cd62307cd41753ee4d8dab4a39a972abaa1da26..3381389ab93a7c5589ecc438577291abc2a1e62e 100644 (file)
@@ -2254,7 +2254,10 @@ static long btrfs_control_ioctl(struct file *file, unsigned int cmd,
                device = btrfs_scan_one_device(vol->name, BLK_OPEN_READ, false);
                if (IS_ERR_OR_NULL(device)) {
                        mutex_unlock(&uuid_mutex);
-                       ret = PTR_ERR(device);
+                       if (IS_ERR(device))
+                               ret = PTR_ERR(device);
+                       else
+                               ret = 0;
                        break;
                }
                ret = !(device->fs_devices->num_devices ==