From: Juergen Gross Date: Mon, 31 Oct 2016 13:58:40 +0000 (+0100) Subject: xen: make use of xenbus_read_unsigned() in xen-tpmfront X-Git-Tag: v4.1.12-102.0.20170601_1400~213^2~24^2~27 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=3436d7d07a8d6bcbc51570a58e148586ae783271;p=users%2Fjedix%2Flinux-maple.git xen: make use of xenbus_read_unsigned() in xen-tpmfront Use xenbus_read_unsigned() instead of xenbus_scanf() when possible. This requires to change the type of one read from int to unsigned, but this case has been wrong before: negative values are not allowed for the modified case. Cc: peterhuewe@gmx.de Cc: tpmdd@selhorst.net Cc: jarkko.sakkinen@linux.intel.com Cc: jgunthorpe@obsidianresearch.com Cc: tpmdd-devel@lists.sourceforge.net Signed-off-by: Juergen Gross Reviewed-by: Jarkko Sakkinen Acked-by: David Vrabel OraBug: 25497392 (cherry picked from commit 0240933469ea4cc1aa1c32867349c4aa718fe264) Signed-off-by: Boris Ostrovsky --- diff --git a/drivers/char/tpm/xen-tpmfront.c b/drivers/char/tpm/xen-tpmfront.c index 3111f2778079d..d34c85aa92d4f 100644 --- a/drivers/char/tpm/xen-tpmfront.c +++ b/drivers/char/tpm/xen-tpmfront.c @@ -335,18 +335,14 @@ static int tpmfront_resume(struct xenbus_device *dev) static void backend_changed(struct xenbus_device *dev, enum xenbus_state backend_state) { - int val; - switch (backend_state) { case XenbusStateInitialised: case XenbusStateConnected: if (dev->state == XenbusStateConnected) break; - if (xenbus_scanf(XBT_NIL, dev->otherend, - "feature-protocol-v2", "%d", &val) < 0) - val = 0; - if (!val) { + if (!xenbus_read_unsigned(dev->otherend, "feature-protocol-v2", + 0)) { xenbus_dev_fatal(dev, -EINVAL, "vTPM protocol 2 required"); return;