diff options
author | Xin Yin <yinxin.x@bytedance.com> | 2022-05-27 18:18:00 +0800 |
---|---|---|
committer | Gao Xiang <hsiangkao@linux.alibaba.com> | 2022-05-29 15:36:04 +0800 |
commit | b5cb79dcfd03e7bb8054d38eaaa557d07966a811 (patch) | |
tree | 0fbdea9b1eade4d369784030d4411bf345eb11c0 /fs/erofs/fscache.c | |
parent | 0130e4e8e49f9bd0342d3fc14102470ea9e7230e (diff) | |
download | linux-b5cb79dcfd03e7bb8054d38eaaa557d07966a811.tar.gz linux-b5cb79dcfd03e7bb8054d38eaaa557d07966a811.tar.bz2 linux-b5cb79dcfd03e7bb8054d38eaaa557d07966a811.zip |
erofs: fix crash when enable tracepoint cachefiles_prep_read
RIP: 0010:trace_event_raw_event_cachefiles_prep_read+0x88/0xe0
[cachefiles]
Call Trace:
<TASK>
cachefiles_prepare_read+0x1d7/0x3a0 [cachefiles]
erofs_fscache_read_folios+0x188/0x220 [erofs]
erofs_fscache_meta_readpage+0x106/0x160 [erofs]
do_read_cache_folio+0x42a/0x590
? bdi_register_va.part.14+0x1a7/0x210
? super_setup_bdi_name+0x76/0xe0
erofs_bread+0x5b/0x170 [erofs]
erofs_fc_fill_super+0x12b/0xc50 [erofs]
This tracepoint uses rreq->inode, should set it when allocating.
Fixes: d435d53228dd ("erofs: change to use asynchronous io for fscache readpage/readahead")
Signed-off-by: Xin Yin <yinxin.x@bytedance.com>
Reviewed-by: Jeffle Xu <jefflexu@linux.alibaba.com>
Reviewed-by: Chao Yu <chao@kernel.org>
Link: https://lore.kernel.org/r/20220527101800.22360-1-yinxin.x@bytedance.com
Signed-off-by: Gao Xiang <hsiangkao@linux.alibaba.com>
Diffstat (limited to 'fs/erofs/fscache.c')
-rw-r--r-- | fs/erofs/fscache.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/erofs/fscache.c b/fs/erofs/fscache.c index 7e4417167d0b..355259252943 100644 --- a/fs/erofs/fscache.c +++ b/fs/erofs/fscache.c @@ -17,6 +17,7 @@ static struct netfs_io_request *erofs_fscache_alloc_request(struct address_space rreq->start = start; rreq->len = len; rreq->mapping = mapping; + rreq->inode = mapping->host; INIT_LIST_HEAD(&rreq->subrequests); refcount_set(&rreq->ref, 1); return rreq; |