VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   33 Branches   55 Tags
author: Bharath Vedartham <linux.bhar@gmail.com> 2019-05-14 15:44:29 -0700 committer: Linus Torvalds <torvalds@linux-foundation.org> 2019-05-14 19:52:50 -0700 commit: 672cdd56f0ae95069e399db790dbf2e303ac72b7 parent: 1dcaa138fc7d87982ccddb7df9e4c30c6cb6eb15
Commit Summary:
reiserfs: add comment to explain endianness issue in xattr_hash
Diffstat:
1 file changed, 9 insertions, 0 deletions
diff --git a/fs/reiserfs/xattr.c b/fs/reiserfs/xattr.c
index 32d8986c26fb..b5b26d8a192c 100644
--- a/fs/reiserfs/xattr.c
+++ b/fs/reiserfs/xattr.c
@@ -450,6 +450,15 @@ fail:
 
 static inline __u32 xattr_hash(const char *msg, int len)
 {
+	/*
+	 * csum_partial() gives different results for little-endian and
+	 * big endian hosts. Images created on little-endian hosts and
+	 * mounted on big-endian hosts(and vice versa) will see csum mismatches
+	 * when trying to fetch xattrs. Treating the hash as __wsum_t would
+	 * lower the frequency of mismatch.  This is an endianness bug in
+	 * reiserfs.  The return statement would result in a sparse warning. Do
+	 * not fix the sparse warning so as to not hide a reminder of the bug.
+	 */
 	return csum_partial(msg, len, 0);
 }