diff options
author | Vasily Gorbik <gor@linux.ibm.com> | 2024-04-11 11:45:57 +0200 |
---|---|---|
committer | Chuck Lever <chuck.lever@oracle.com> | 2024-04-11 09:21:06 -0400 |
commit | f488138b526715c6d2568d7329c4477911be4210 (patch) | |
tree | 3fb9512b1140887e0ffd5af2d40c5451fb64da88 /fs/ocfs2/locks.c | |
parent | a4833e3abae132d613ce7da0e0c9a9465d1681fa (diff) |
NFSD: fix endianness issue in nfsd4_encode_fattr4
The nfs4 mount fails with EIO on 64-bit big endian architectures since
v6.7. The issue arises from employing a union in the nfsd4_encode_fattr4()
function to overlay a 32-bit array with a 64-bit values based bitmap,
which does not function as intended. Address the endianness issue by
utilizing bitmap_from_arr32() to copy 32-bit attribute masks into a
bitmap in an endianness-agnostic manner.
Cc: stable@vger.kernel.org
Fixes: fce7913b13d0 ("NFSD: Use a bitmask loop to encode FATTR4 results")
Link: https://bugs.launchpad.net/ubuntu/+source/nfs-utils/+bug/2060217
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Reviewed-by: Jeff Layton <jlayton@kernel.org>
Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
Diffstat (limited to 'fs/ocfs2/locks.c')
0 files changed, 0 insertions, 0 deletions