Laszlo Ersek
2011-Oct-07 19:34 UTC
[Xen-devel] [PATCH] xen-blkfront: plug device number leak in xlblk_init() error path
... though after a failed xenbus_register_frontend() all may be lost. Signed-off-by: Laszlo Ersek <lersek@redhat.com> --- 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@lists.xensource.com http://lists.xensource.com/xen-devel
Ian Campbell
2011-Oct-10 13:02 UTC
Re: [Xen-devel] [PATCH] xen-blkfront: plug device number leak in xlblk_init() error path
Cc''ing Konrad & Jeremy per get_maintainers.pl On Fri, 2011-10-07 at 20:34 +0100, Laszlo Ersek wrote:> ... though after a failed xenbus_register_frontend() all may be lost.Indeed. But anyway: Acked-by: Ian Campbell <ian.campbell@citrix.com> {net,kbd,fb,pci}front seem to not have this issue. Although it''s not 100% clear if the effect of pci_frontend_registrar(1) needs to be undone. (is registrar a typo for register here?)> Signed-off-by: Laszlo Ersek <lersek@redhat.com> > --- > 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); >_______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel
Konrad Rzeszutek Wilk
2011-Oct-10 16:06 UTC
Re: [Xen-devel] [PATCH] xen-blkfront: plug device number leak in xlblk_init() error path
On Mon, Oct 10, 2011 at 02:02:25PM +0100, Ian Campbell wrote:> Cc''ing Konrad & Jeremy per get_maintainers.pl > > On Fri, 2011-10-07 at 20:34 +0100, Laszlo Ersek wrote: > > ... though after a failed xenbus_register_frontend() all may be lost. > > Indeed. But anyway: > > Acked-by: Ian Campbell <ian.campbell@citrix.com>Queue up for 3.2.> > {net,kbd,fb,pci}front seem to not have this issue. Although it''s not > 100% clear if the effect of pci_frontend_registrar(1) needs to be > undone. > > (is registrar a typo for register here?)Yes. _______________________________________________ Xen-devel mailing list Xen-devel@lists.xensource.com http://lists.xensource.com/xen-devel