mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-11 12:28:41 +08:00
shmem: set a_ops earlier in shmem_symlink
Set the a_ops in shmem_symlink before reading a folio from the mapping to prepare for asserting that shmem_get_folio is only called on shmem mappings. Signed-off-by: Christoph Hellwig <hch@lst.de> Reviewed-by: "Matthew Wilcox (Oracle)" <willy@infradead.org> Signed-off-by: Chandan Babu R <chandanbabu@kernel.org>
This commit is contained in:
parent
aefacb2041
commit
e11381d83d
@ -3506,10 +3506,10 @@ static int shmem_symlink(struct mnt_idmap *idmap, struct inode *dir,
|
||||
inode->i_op = &shmem_short_symlink_operations;
|
||||
} else {
|
||||
inode_nohighmem(inode);
|
||||
inode->i_mapping->a_ops = &shmem_aops;
|
||||
error = shmem_get_folio(inode, 0, &folio, SGP_WRITE);
|
||||
if (error)
|
||||
goto out_remove_offset;
|
||||
inode->i_mapping->a_ops = &shmem_aops;
|
||||
inode->i_op = &shmem_symlink_inode_operations;
|
||||
memcpy(folio_address(folio), symname, len);
|
||||
folio_mark_uptodate(folio);
|
||||
|
Loading…
Reference in New Issue
Block a user