Re: [PATCH] xen: check return value of xenbus_printf
From: Julien Grall <hidden>
Date: 2015-10-19 14:32:11
Also in:
lkml
Hi, On 19/10/15 15:10, Insu Yun wrote:
quoted hunk ↗ jump to hunk
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 <redacted> --- 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 <redacted>
+ 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, -- Julien Grall