Message ID | 1445263840-21187-1-git-send-email-wuninsu@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Hi, On 19/10/15 15:10, Insu Yun wrote: > Internally, xenbus_printf uses memory allocation, so it can be failed in > memory pressure.Therefore, xenbus_printf's return should be checked > and properly handled. > > Signed-off-by: Insu Yun <wuninsu@gmail.com> > --- > drivers/input/misc/xen-kbdfront.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c > index 23d0549..9d465d7 100644 > --- a/drivers/input/misc/xen-kbdfront.c > +++ b/drivers/input/misc/xen-kbdfront.c > @@ -129,8 +129,14 @@ static int xenkbd_probe(struct xenbus_device *dev, > > if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-abs-pointer", "%d", &abs) < 0) > abs = 0; > - if (abs) > - xenbus_printf(XBT_NIL, dev->nodename, "request-abs-pointer", "1"); > + if (abs) { > + ret = xenbus_printf(XBT_NIL, dev->nodename, > + "request-abs-pointer", "1"); The second line of arguments should be aligned to the first parameter. I.e: xenbus_printf(XBT_NIL, dev->nodename, "request-abs-pointer", "1"); See an example in xenkbd_backend_changed. With that fixed: Reviewed-by: Julien Grall <julien.grall@citrix.com> > + if (ret) { > + pr_warning("xenkbd: can't request abs-pointer"); Note that checkpatch.pl will print a warning here: WARNING: Prefer pr_warn(... to pr_warning(... #27: FILE: drivers/input/misc/xen-kbdfront.c:136: + pr_warning("xenkbd: can't request abs-pointer"); Although, I'm fine if you don't fix this one. > + abs = 0; > + } > + } > > /* keyboard */ > kbd = input_allocate_device(); > Regards,
diff --git a/drivers/input/misc/xen-kbdfront.c b/drivers/input/misc/xen-kbdfront.c index 23d0549..9d465d7 100644 --- a/drivers/input/misc/xen-kbdfront.c +++ b/drivers/input/misc/xen-kbdfront.c @@ -129,8 +129,14 @@ static int xenkbd_probe(struct xenbus_device *dev, if (xenbus_scanf(XBT_NIL, dev->otherend, "feature-abs-pointer", "%d", &abs) < 0) abs = 0; - if (abs) - xenbus_printf(XBT_NIL, dev->nodename, "request-abs-pointer", "1"); + if (abs) { + ret = xenbus_printf(XBT_NIL, dev->nodename, + "request-abs-pointer", "1"); + if (ret) { + pr_warning("xenkbd: can't request abs-pointer"); + abs = 0; + } + } /* keyboard */ kbd = input_allocate_device();
Internally, xenbus_printf uses memory allocation, so it can be failed in memory pressure.Therefore, xenbus_printf's return should be checked and properly handled. Signed-off-by: Insu Yun <wuninsu@gmail.com> --- drivers/input/misc/xen-kbdfront.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-)