From 3b075f2fda880256b3d9de2e6197a224adc0a39f Mon Sep 17 00:00:00 2001 From: Eric Biggers Date: Tue, 2 Jun 2020 17:17:54 -0700 Subject: [PATCH] cmd/fscrypt: fix 32-bit build statfs.Bsize actually has platform-dependent type, despite the Go documentation listing it as int64. Fix the build for 32-bit platforms by casting it to int64. Resolves https://github.com/google/fscrypt/issues/233 --- cmd/fscrypt/errors.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/fscrypt/errors.go b/cmd/fscrypt/errors.go index 8bdab6e9..10d744a4 100644 --- a/cmd/fscrypt/errors.go +++ b/cmd/fscrypt/errors.go @@ -117,8 +117,8 @@ func suggestEnablingEncryption(mnt *filesystem.Mount) string { if err := unix.Statfs(mnt.Path, &statfs); err != nil { return "" } - pagesize := int64(os.Getpagesize()) - if statfs.Bsize != pagesize && !util.IsKernelVersionAtLeast(5, 5) { + pagesize := os.Getpagesize() + if int64(statfs.Bsize) != int64(pagesize) && !util.IsKernelVersionAtLeast(5, 5) { return fmt.Sprintf(`This filesystem uses a block size (%d) other than the system page size (%d). Ext4 encryption didn't support this case until kernel v5.5.