diff options
| author | Zhang Yi <[email protected]> | 2022-06-30 09:01:00 +0000 |
|---|---|---|
| committer | Theodore Ts'o <[email protected]> | 2022-08-03 03:37:50 +0000 |
| commit | 5a57bca9050d740ca37184302e23d0e7633e3ebc (patch) | |
| tree | 3bb1b03bbc9eb3a7e9dbdd205dd6dd25a832ccd6 /fs/ext4/fast_commit.c | |
| parent | Linux 5.19-rc5 (diff) | |
| download | kernel-5a57bca9050d740ca37184302e23d0e7633e3ebc.tar.gz kernel-5a57bca9050d740ca37184302e23d0e7633e3ebc.zip | |
ext4: fix reading leftover inlined symlinks
Since commit 6493792d3299 ("ext4: convert symlink external data block
mapping to bdev"), create new symlink with inline_data is not supported,
but it missing to handle the leftover inlined symlinks, which could
cause below error message and fail to read symlink.
ls: cannot read symbolic link 'foo': Structure needs cleaning
EXT4-fs error (device sda): ext4_map_blocks:605: inode #12: block
2021161080: comm ls: lblock 0 mapped to illegal pblock 2021161080
(length 1)
Fix this regression by adding ext4_read_inline_link(), which read the
inline data directly and convert it through a kmalloced buffer.
Fixes: 6493792d3299 ("ext4: convert symlink external data block mapping to bdev")
Cc: [email protected]
Reported-by: Torge Matthies <[email protected]>
Signed-off-by: Zhang Yi <[email protected]>
Tested-by: Torge Matthies <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Theodore Ts'o <[email protected]>
Diffstat (limited to 'fs/ext4/fast_commit.c')
0 files changed, 0 insertions, 0 deletions
