Message ID | 20200511074231.19794-1-jgross@suse.com (mailing list archive) |
---|---|
State | Accepted |
Commit | c8d70a29d6bbc956013f3401f92a4431a9385a3c |
Headers | show |
Series | xen/pvcalls-back: test for errors when calling backend_connect() | expand |
On Mon, 11 May 2020, Juergen Gross wrote: > backend_connect() can fail, so switch the device to connected only if > no error occurred. > > Fixes: 0a9c75c2c7258f2 ("xen/pvcalls: xenbus state handling") > Cc: stable@vger.kernel.org > Signed-off-by: Juergen Gross <jgross@suse.com> Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> > --- > drivers/xen/pvcalls-back.c | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) > > diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c > index cf4ce3e9358d..41a18ece029a 100644 > --- a/drivers/xen/pvcalls-back.c > +++ b/drivers/xen/pvcalls-back.c > @@ -1088,7 +1088,8 @@ static void set_backend_state(struct xenbus_device *dev, > case XenbusStateInitialised: > switch (state) { > case XenbusStateConnected: > - backend_connect(dev); > + if (backend_connect(dev)) > + return; Do you think it would make sense to WARN? > xenbus_switch_state(dev, XenbusStateConnected); > break; > case XenbusStateClosing: > -- > 2.26.1 >
On 11.05.20 23:41, Stefano Stabellini wrote: > On Mon, 11 May 2020, Juergen Gross wrote: >> backend_connect() can fail, so switch the device to connected only if >> no error occurred. >> >> Fixes: 0a9c75c2c7258f2 ("xen/pvcalls: xenbus state handling") >> Cc: stable@vger.kernel.org >> Signed-off-by: Juergen Gross <jgross@suse.com> > > Reviewed-by: Stefano Stabellini <sstabellini@kernel.org> > > >> --- >> drivers/xen/pvcalls-back.c | 3 ++- >> 1 file changed, 2 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c >> index cf4ce3e9358d..41a18ece029a 100644 >> --- a/drivers/xen/pvcalls-back.c >> +++ b/drivers/xen/pvcalls-back.c >> @@ -1088,7 +1088,8 @@ static void set_backend_state(struct xenbus_device *dev, >> case XenbusStateInitialised: >> switch (state) { >> case XenbusStateConnected: >> - backend_connect(dev); >> + if (backend_connect(dev)) >> + return; > > Do you think it would make sense to WARN? There already should be an error message (either due to a failed grant mapping or a failed memory allocation). Juergen
diff --git a/drivers/xen/pvcalls-back.c b/drivers/xen/pvcalls-back.c index cf4ce3e9358d..41a18ece029a 100644 --- a/drivers/xen/pvcalls-back.c +++ b/drivers/xen/pvcalls-back.c @@ -1088,7 +1088,8 @@ static void set_backend_state(struct xenbus_device *dev, case XenbusStateInitialised: switch (state) { case XenbusStateConnected: - backend_connect(dev); + if (backend_connect(dev)) + return; xenbus_switch_state(dev, XenbusStateConnected); break; case XenbusStateClosing:
backend_connect() can fail, so switch the device to connected only if no error occurred. Fixes: 0a9c75c2c7258f2 ("xen/pvcalls: xenbus state handling") Cc: stable@vger.kernel.org Signed-off-by: Juergen Gross <jgross@suse.com> --- drivers/xen/pvcalls-back.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)