Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 02409334 authored by Juergen Gross's avatar Juergen Gross
Browse files

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: default avatarJuergen Gross <jgross@suse.com>
Reviewed-by: default avatarJarkko Sakkinen <jarkko.sakkinen@linux.intel.com>
Acked-by: default avatarDavid Vrabel <david.vrabel@citrix.com>
parent f27dc1ac
Loading
Loading
Loading
Loading
+2 −6
Original line number Original line Diff line number Diff line
@@ -337,18 +337,14 @@ static int tpmfront_resume(struct xenbus_device *dev)
static void backend_changed(struct xenbus_device *dev,
static void backend_changed(struct xenbus_device *dev,
		enum xenbus_state backend_state)
		enum xenbus_state backend_state)
{
{
	int val;

	switch (backend_state) {
	switch (backend_state) {
	case XenbusStateInitialised:
	case XenbusStateInitialised:
	case XenbusStateConnected:
	case XenbusStateConnected:
		if (dev->state == XenbusStateConnected)
		if (dev->state == XenbusStateConnected)
			break;
			break;


		if (xenbus_scanf(XBT_NIL, dev->otherend,
		if (!xenbus_read_unsigned(dev->otherend, "feature-protocol-v2",
				"feature-protocol-v2", "%d", &val) < 0)
					  0)) {
			val = 0;
		if (!val) {
			xenbus_dev_fatal(dev, -EINVAL,
			xenbus_dev_fatal(dev, -EINVAL,
					"vTPM protocol 2 required");
					"vTPM protocol 2 required");
			return;
			return;