From fe234188282c991dc2f2676683bf494661a13fe5 Mon Sep 17 00:00:00 2001 From: Zorro Lang Date: Tue, 9 Apr 2019 12:54:04 +0800 Subject: [PATCH] src/t_attr_corruption: covert value to little endian order generic/529 always fails on ppc64 or s390x big-endian machine as: set posix acl: Operation not supported Due to the members of struct posix_acl_xattr_entry/header need to be little-endian byte order, so use htole*() helper to make sure that. Signed-off-by: Zorro Lang Reviewed-by: Darrick J. Wong Signed-off-by: Eryu Guan --- src/t_attr_corruption.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/src/t_attr_corruption.c b/src/t_attr_corruption.c index 9101024e..e7d435b1 100644 --- a/src/t_attr_corruption.c +++ b/src/t_attr_corruption.c @@ -32,6 +32,7 @@ #include #include #include +#include void die(const char *msg) { @@ -52,13 +53,14 @@ struct myacl { int main(int argc, char *argv[]) { + /* posix_acl_xattr_entry/header need little-endian order */ struct myacl acl = { - .d = 2, + .d = htole32(2), .e = { - {1, 0, 0}, - {4, 0, 0}, - {0x10, 0, 0}, - {0x20, 0, 0}, + {htole16(1), 0, 0}, + {htole16(4), 0, 0}, + {htole16(0x10), 0, 0}, + {htole16(0x20), 0, 0}, }, }; char buf[64]; -- 2.30.2