Re: [PATCH] xen: check return value of xenbus_printf

Julien Grall
2015-10-19T14:32:11Z

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,

--
Julien Grall