Commit bd0d5aa4 authored by Jan Beulich's avatar Jan Beulich Committed by Konrad Rzeszutek Wilk

xenbus: don't free other end details too early

The individual drivers' remove functions could legitimately attempt to
access this information (for logging messages if nothing else). Note
that I did not in fact observe a problem anywhere, but I came across
this while looking into the reasons for what turned out to need the
fix at https://lkml.org/lkml/2012/3/5/336 to vsprintf().
Signed-off-by: default avatarJan Beulich <jbeulich@suse.com>
Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
parent 73c154c6
...@@ -257,11 +257,12 @@ int xenbus_dev_remove(struct device *_dev) ...@@ -257,11 +257,12 @@ int xenbus_dev_remove(struct device *_dev)
DPRINTK("%s", dev->nodename); DPRINTK("%s", dev->nodename);
free_otherend_watch(dev); free_otherend_watch(dev);
free_otherend_details(dev);
if (drv->remove) if (drv->remove)
drv->remove(dev); drv->remove(dev);
free_otherend_details(dev);
xenbus_switch_state(dev, XenbusStateClosed); xenbus_switch_state(dev, XenbusStateClosed);
return 0; return 0;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment