|   | 
      | 
  
  
      | 
      | 
  
 
     | 
    | 
  
  
     | 
    | 
  
  
    |   | 
      | 
  
  
    | 
         
xen-devel
[Xen-devel] [PATCH] xen-blkfront: plug device number leak in	xlblk_init(
 
... though after a failed xenbus_register_frontend() all may be lost.
Signed-off-by: Laszlo Ersek <lersek@xxxxxxxxxx>
---
 drivers/block/xen-blkfront.c |   10 +++++++++-
 1 files changed, 9 insertions(+), 1 deletions(-)
diff --git a/drivers/block/xen-blkfront.c b/drivers/block/xen-blkfront.c
index 9ea8c25..a5a9b1b 100644
--- a/drivers/block/xen-blkfront.c
+++ b/drivers/block/xen-blkfront.c
@@ -1385,6 +1385,8 @@ static struct xenbus_driver blkfront = {
 
 static int __init xlblk_init(void)
 {
+       int ret;
+
        if (!xen_domain())
                return -ENODEV;
 
@@ -1394,7 +1396,13 @@ static int __init xlblk_init(void)
                return -ENODEV;
        }
 
-       return xenbus_register_frontend(&blkfront);
+       ret = xenbus_register_frontend(&blkfront);
+       if (ret) {
+               unregister_blkdev(XENVBD_MAJOR, DEV_NAME);
+               return ret;
+       }
+
+       return 0;
 }
 module_init(xlblk_init);
 
-- 
1.7.4.4
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
 |   
 
| <Prev in Thread] | 
Current Thread | 
[Next in Thread>
 |  
- [Xen-devel] [PATCH] xen-blkfront: plug device number leak in	xlblk_init() error path,
Laszlo Ersek <=
 
 
 |  
  
 | 
    | 
  
  
    |   | 
    |