linux-fsdevel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] cachefiles: some bugfixes for clean object/send req/poll
@ 2024-04-24  3:34 libaokun
  2024-04-24  3:34 ` [PATCH 1/5] cachefiles: stop sending new request when dropping object libaokun
                   ` (4 more replies)
  0 siblings, 5 replies; 11+ messages in thread
From: libaokun @ 2024-04-24  3:34 UTC (permalink / raw)
  To: netfs
  Cc: dhowells, jlayton, zhujia.zj, jefflexu, linux-cachefs,
	linux-erofs, linux-fsdevel, linux-kernel, libaokun, Baokun Li

From: Baokun Li <libaokun1@huawei.com>

Hello everyone!

Recently we found some bugs while doing tests on cachefiles ondemand mode,
and this patchset is a fix for some of those issues. The following is a
brief overview of the patches, see the patches for more details.

Patch 1-3: After an object has been cleaned up, make sure it has no
outstanding requests and that the corresponding ondemand_object_worker
has exited, otherwise it may use-after-free.

Patch 4: Cyclic allocation of msg_id to avoid msg_id reuse misleading
the daemon to cause hung.

Patch 5: Hold xas_lock during polling to avoid dereferencing reqs causing
use-after-free.

Comments and questions are, as always, welcome.

Thanks,
Baokun

Baokun Li (3):
  cachefiles: stop sending new request when dropping object
  cachefiles: flush all requests for the object that is being dropped
  cachefiles: cyclic allocation of msg_id to avoid reuse

Hou Tao (1):
  cachefiles: flush ondemand_object_worker during clean object

Jingbo Xu (1):
  cachefiles: add missing lock protection when polling

 fs/cachefiles/daemon.c   |   4 +-
 fs/cachefiles/internal.h |   3 +
 fs/cachefiles/ondemand.c | 120 ++++++++++++++++++++++++++-------------
 3 files changed, 86 insertions(+), 41 deletions(-)

-- 
2.39.2


^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2024-04-25  6:53 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-04-24  3:34 [PATCH 0/5] cachefiles: some bugfixes for clean object/send req/poll libaokun
2024-04-24  3:34 ` [PATCH 1/5] cachefiles: stop sending new request when dropping object libaokun
2024-04-24  3:34 ` [PATCH 2/5] cachefiles: flush all requests for the object that is being dropped libaokun
2024-04-24  3:34 ` [PATCH 3/5] cachefiles: flush ondemand_object_worker during clean object libaokun
2024-04-25  5:41   ` Jia Zhu
2024-04-25  6:53     ` Baokun Li
2024-04-24  3:34 ` [PATCH 4/5] cachefiles: cyclic allocation of msg_id to avoid reuse libaokun
2024-04-24  3:34 ` [PATCH 5/5] cachefiles: add missing lock protection when polling libaokun
2024-04-24  4:29   ` Gao Xiang
2024-04-24  6:23     ` Baokun Li
2024-04-24  5:46   ` Jia Zhu

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).