fs/ntfs3: Deny getting attr data block in compressed frame
[ Upstream commit 69943484b95267c94331cba41e9e64ba7b24f136 ]
Attempting to retrieve an attribute data block in a compressed frame
is ignored.
Fixes: be71b5cba2
("fs/ntfs3: Add attrib operations")
Signed-off-by: Konstantin Komarov <almaz.alexandrovich@paragon-software.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
c4df2d4821
commit
645da4f92c
|
@ -975,6 +975,19 @@ int attr_data_get_block(struct ntfs_inode *ni, CLST vcn, CLST clen, CLST *lcn,
|
|||
if (err)
|
||||
goto out;
|
||||
|
||||
/* Check for compressed frame. */
|
||||
err = attr_is_frame_compressed(ni, attr, vcn >> NTFS_LZNT_CUNIT, &hint);
|
||||
if (err)
|
||||
goto out;
|
||||
|
||||
if (hint) {
|
||||
/* if frame is compressed - don't touch it. */
|
||||
*lcn = COMPRESSED_LCN;
|
||||
*len = hint;
|
||||
err = -EOPNOTSUPP;
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!*len) {
|
||||
if (run_lookup_entry(run, vcn, lcn, len, NULL)) {
|
||||
if (*lcn != SPARSE_LCN || !new)
|
||||
|
|
Loading…
Reference in New Issue