cryptohome: Remove O_NOFOLLOW from GetBlkSize
GetBlkSize is used with logical volumes and needs to follow the
symlink from /dev/<VG>/<LV> to the correct device.
BUG=b:172344853
TEST=GetBlkSize works for logical volume devices.
Change-Id: I33f19e42e4f4c8a33dbfb5081c858d3521a92d70
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform2/+/2590693
Reviewed-by: Leo Lai <cylai@google.com>
Reviewed-by: Jorge Lucangeli Obes <jorgelo@chromium.org>
Tested-by: Sarthak Kukreti <sarthakkukreti@chromium.org>
Commit-Queue: Sarthak Kukreti <sarthakkukreti@chromium.org>
diff --git a/cryptohome/platform.cc b/cryptohome/platform.cc
index a8c78b7..eb54d5f 100644
--- a/cryptohome/platform.cc
+++ b/cryptohome/platform.cc
@@ -1249,8 +1249,8 @@
}
bool Platform::GetBlkSize(const base::FilePath& device, uint64_t* size) {
- base::ScopedFD fd(HANDLE_EINTR(
- open(device.value().c_str(), O_RDONLY | O_NOFOLLOW | O_CLOEXEC)));
+ base::ScopedFD fd(
+ HANDLE_EINTR(open(device.value().c_str(), O_RDONLY | O_CLOEXEC)));
if (!fd.is_valid()) {
PLOG(ERROR) << "open " << device.value();
return false;