summaryrefslogtreecommitdiff
path: root/tests/sys_statvfs_test.cpp
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-03-18 15:46:48 -0700
committerElliott Hughes <enh@google.com>2015-03-18 15:46:48 -0700
commitfa495d51b02e1575088ed358614d3baa442f455f (patch)
tree7d44227f43953a5b99d2fc582f917987a5980f56 /tests/sys_statvfs_test.cpp
parentab12dc70f3ef551c490dcfede76033e57ceee64d (diff)
Hide statfs/fstatfs' ST_VALID flag from userspace.
Spotted while debugging the strace 4.10 upgrade. Change-Id: I1af1be9c9440151f55f74a835e1df71529b0e4fe
Diffstat (limited to 'tests/sys_statvfs_test.cpp')
-rw-r--r--tests/sys_statvfs_test.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/sys_statvfs_test.cpp b/tests/sys_statvfs_test.cpp
index 6b19e13b8..bff9e2035 100644
--- a/tests/sys_statvfs_test.cpp
+++ b/tests/sys_statvfs_test.cpp
@@ -30,6 +30,11 @@ template <typename StatVfsT> void Check(StatVfsT& sb) {
EXPECT_EQ(0U, sb.f_ffree);
EXPECT_EQ(0U, sb.f_fsid);
EXPECT_EQ(255U, sb.f_namemax);
+
+ // The kernel sets a private bit to indicate that f_flags is valid.
+ // This flag is not supposed to be exposed to libc clients.
+ static const uint32_t ST_VALID = 0x0020;
+ EXPECT_TRUE((sb.f_flag & ST_VALID) == 0) << sb.f_flag;
}
TEST(sys_statvfs, statvfs) {
@@ -51,6 +56,7 @@ TEST(sys_statvfs, fstatvfs) {
close(fd);
Check(sb);
}
+
TEST(sys_statvfs, fstatvfs64) {
struct statvfs64 sb;
int fd = open("/proc", O_RDONLY);