]> git.itanic.dy.fi Git - linux-stable/commit
xfs: fix a use after free in xfs_defer_finish_recovery
authorChristoph Hellwig <hch@lst.de>
Thu, 28 Dec 2023 07:24:09 +0000 (07:24 +0000)
committerChandan Babu R <chandanbabu@kernel.org>
Fri, 29 Dec 2023 08:07:05 +0000 (13:37 +0530)
commit4f6ac47b55e3ce6e982807928d6074ec105ab66e
treed717c5d4573530f46e68cd55bea5a5e700f831d4
parent378b6aef9de0f7c3d0de309ecc61c11eb29e57da
xfs: fix a use after free in xfs_defer_finish_recovery

dfp will be freed by ->recover_work and thus the tracepoint in case
of an error can lead to a use after free.

Store the defer ops in a local variable to avoid that.

Fixes: 7f2f7531e0d4 ("xfs: store an ops pointer in struct xfs_defer_pending")
Reported-by: kernel test robot <oliver.sang@intel.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: "Darrick J. Wong" <djwong@kernel.org>
Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
fs/xfs/libxfs/xfs_defer.c