diff options
author | Jake Wires <jwires@xensource.com> | 2007-04-27 17:54:06 -0700 |
---|---|---|
committer | Jake Wires <jwires@xensource.com> | 2007-04-27 17:54:06 -0700 |
commit | adfd9f4561560c64cb71b7b59129ca22c1b98707 (patch) | |
tree | 8b5b854e16a4371503dbe712f842b48c1d1db22e | |
parent | 56c09b24436d71dd62fc590fa77fe3c0a98c9470 (diff) | |
download | xen-adfd9f4561560c64cb71b7b59129ca22c1b98707.tar.gz xen-adfd9f4561560c64cb71b7b59129ca22c1b98707.tar.bz2 xen-adfd9f4561560c64cb71b7b59129ca22c1b98707.zip |
Ensure blk{tap/back}'s vm_area is not freed twice on error case.
Signed-off-by: Jake Wires <jwires@xensource.com>
-rw-r--r-- | linux-2.6-xen-sparse/drivers/xen/blkback/interface.c | 1 | ||||
-rw-r--r-- | linux-2.6-xen-sparse/drivers/xen/blktap/interface.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/linux-2.6-xen-sparse/drivers/xen/blkback/interface.c b/linux-2.6-xen-sparse/drivers/xen/blkback/interface.c index 61433bba79..6df7b734d6 100644 --- a/linux-2.6-xen-sparse/drivers/xen/blkback/interface.c +++ b/linux-2.6-xen-sparse/drivers/xen/blkback/interface.c @@ -136,6 +136,7 @@ int blkif_map(blkif_t *blkif, unsigned long shared_page, unsigned int evtchn) { unmap_frontend_page(blkif); free_vm_area(blkif->blk_ring_area); + blkif->blk_rings.common.sring = NULL; return err; } blkif->irq = err; diff --git a/linux-2.6-xen-sparse/drivers/xen/blktap/interface.c b/linux-2.6-xen-sparse/drivers/xen/blktap/interface.c index 21c4d551e7..11f800197a 100644 --- a/linux-2.6-xen-sparse/drivers/xen/blktap/interface.c +++ b/linux-2.6-xen-sparse/drivers/xen/blktap/interface.c @@ -137,6 +137,7 @@ int tap_blkif_map(blkif_t *blkif, unsigned long shared_page, if (err < 0) { unmap_frontend_page(blkif); free_vm_area(blkif->blk_ring_area); + blkif->blk_rings.common.sring = NULL; return err; } blkif->irq = err; |