Skip to content

Commit d7b66b4

Browse files
committed
Merge tag 'for-4.17-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux
Pull btrfs fix from David Sterba: "A one-liner that prevents leaking an internal error value 1 out of the ftruncate syscall. This has been observed in practice. The steps to reproduce make a common pattern (open/write/fync/ftruncate) but also need the application to not check only for negative values and happens only for compressed inlined files. The conditions are narrow but as this could break userspace I think it's better to merge it now and not wait for the merge window" * tag 'for-4.17-rc6-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: Btrfs: fix error handling in btrfs_truncate()
2 parents d883c6c + d501473 commit d7b66b4

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

fs/btrfs/inode.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9117,7 +9117,8 @@ static int btrfs_truncate(struct inode *inode, bool skip_writeback)
91179117
BTRFS_EXTENT_DATA_KEY);
91189118
trans->block_rsv = &fs_info->trans_block_rsv;
91199119
if (ret != -ENOSPC && ret != -EAGAIN) {
9120-
err = ret;
9120+
if (ret < 0)
9121+
err = ret;
91219122
break;
91229123
}
91239124

0 commit comments

Comments
 (0)