Hi all, As part of kicking the tires on the new logged extended attributes (LARP) code, I observed a crash in the xattr intent log item relogging function. A quick code inspection led to me noticing that the logging code repeatedly allocates and frees space for the name and value buffers, which is unnecessary. Replace all that with a shared refcounted buffer to hold the name and the value across all the log items involved in the transaction, and as long as is necessary for the log to process all work. If you're going to start using this mess, you probably ought to just pull from my git trees, which are linked below. This is an extraordinary way to destroy everything. Enjoy! Comments and questions are, as always, welcome. --D kernel git tree: https://git.kernel.org/cgit/linux/kernel/git/djwong/xfs-linux.git/log/?h=attr-intent-uaf-fixes-5.19 --- fs/xfs/libxfs/xfs_attr.h | 8 + fs/xfs/xfs_attr_item.c | 296 +++++++++++++++++++++++++++------------------- fs/xfs/xfs_attr_item.h | 13 +- 3 files changed, 191 insertions(+), 126 deletions(-)