Hi all, This patch series corrects a memory corruption problem that I noticed when running fstests on i386 and on a 64k-page aarch64 machine. The root cause is the fact that on v5 filesystems, a remote xattribute value can be allocated 128K of disk space (64k for the value, 64 bytes for the header). xattr invalidation will try to xfs_trans_binval the attribute value buffer, which creates a (zeroed) buffer log item. The dirty buffer in the buffer log item isn't large enough to handle > 64k of dirty data and we write past the end of the array, corrupting memory. On amd64 the compiler inserts an invisible padding area just past the end of the dirty bitmap, which is why we don't see the problem on our laptops. :P Since we don't ever log remote xattr values, we can fix this problem by making sure that no part of the code that handles remote attr values ever supplies a transaction context to a xfs_buf function. Finish the series by adding a few asserts so that we'll shut down the log if this kind of overrun ever happens again. This has been lightly tested with fstests. Enjoy! Comments and questions are, as always, welcome. --D