A device can be added to the device list without getting a name, so we may
access to illegal addresses while opening devices with their name.

Signed-off-by: Liu Bo <bo.li....@oracle.com>
---
 volumes.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/volumes.c b/volumes.c
index 8285240..a06896d 100644
--- a/volumes.c
+++ b/volumes.c
@@ -186,6 +186,10 @@ int btrfs_open_devices(struct btrfs_fs_devices 
*fs_devices, int flags)
 
        list_for_each(cur, head) {
                device = list_entry(cur, struct btrfs_device, dev_list);
+               if (!device->name) {
+                       printk("no name for device %llu, skip it now\n", 
device->devid);
+                       continue;
+               }
 
                fd = open(device->name, flags);
                if (fd < 0) {
-- 
1.7.7

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to