From 17785fd185dbbe07bd2e801e511e4e36dd0dec92 Mon Sep 17 00:00:00 2001 From: Matthew Maurer Date: Thu, 26 Dec 2019 14:55:41 -0800 Subject: [PATCH] trusty: storageproxyd: Fix rebase of UFS support The UFS support got rebased on top of the RPMB socket support improperly. As a result, RPMB socket support was broken due to an unconditional rmpb_fd = rc which would set the rpmb_fd to be connect()'s error code in the case of an RPMB socket. Bug: 146903427 Test: Boot Trusty+Android with the rpmb_dev mock, check for liveness Change-Id: Ib1220dc49392f1a10369eed7716e44680bd83a66 --- trusty/storage/proxy/rpmb.c | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/trusty/storage/proxy/rpmb.c b/trusty/storage/proxy/rpmb.c index 03b10992d..7dfd0d01b 100644 --- a/trusty/storage/proxy/rpmb.c +++ b/trusty/storage/proxy/rpmb.c @@ -361,6 +361,15 @@ int rpmb_open(const char* rpmb_devname, enum dev_type open_dev_type) { return rc; } rpmb_fd = rc; + + /* For UFS, it is prudent to check we have a sg device by calling an ioctl */ + if (dev_type == UFS_RPMB) { + if ((ioctl(rpmb_fd, SG_GET_VERSION_NUM, &sg_version_num) < 0) || + (sg_version_num < RPMB_MIN_SG_VERSION_NUM)) { + ALOGE("%s is not a sg device, or old sg driver\n", rpmb_devname); + return -1; + } + } } else { struct sockaddr_un unaddr; struct sockaddr *addr = (struct sockaddr *)&unaddr; @@ -382,15 +391,6 @@ int rpmb_open(const char* rpmb_devname, enum dev_type open_dev_type) { } } - /* For UFS, it is prudent to check we hava a sg device by calling an ioctl */ - if (dev_type == UFS_RPMB) { - if ((ioctl(rc, SG_GET_VERSION_NUM, &sg_version_num) < 0) || - (sg_version_num < RPMB_MIN_SG_VERSION_NUM)) { - ALOGE("%s is not a sg device, or old sg driver\n", rpmb_devname); - return -1; - } - } - rpmb_fd = rc; return 0; }