ext4: refuse encryption when block size > page size
Get series with b4
b4 am [email protected]Versions newest first
- v1 Latest2 patches 4 repliesIn review
Patches in v1 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 1/2 | ext4: refuse encryption when block size > page sizefs/ | +9 | 1 reply | |
| 2/2 | ext4: reject encrypted inodes when block size > page sizefs/ | +6 | 1 reply |
Reviews trailers per patch
All 2 patches have a Reviewed-by or Acked-by of their own; the series has one for all of them.
| Patch | Eric Biggers | Baokun Li |
|---|---|---|
| Series | R-b | |
| 1/2 | R-b | |
| 2/2 | R-b |
Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes.
Cover letter [PATCH 0/2] ext4: refuse encryption when block size > page size
Hi,
encryption is not supported when a filesystem's block size is larger than the page size. Although the kernel refuses to mount such a filesystem if the "encrypt" feature is already set, it is possible to enable it on a mounted filesystem with e.g. tune2fs.
# mkfs.ext4 -b 16384 /dev/vdb # mount /dev/vdb /mnt/ # tune2fs -O encrypt /dev/vdb # mkdir /mnt/foo # fscrypt setup /mnt # fscrypt encrypt /mnt/foo/ # head -c 20M /dev/urandom > /mnt/foo/data # sync [ 116.014221] EXT4-fs warning (device vdb): ext4_end_bio:360: I/O error 19 writing to inode 19 starting block 130040) [ 116.014235] EXT4-fs (vdb): failed to convert unwritten extents to written extents -- potential data loss! (inode 19, error -5) [ 116.014241] Buffer I/O error on device vdb, logical block 130040 [...] [ 116.014264] Buffer I/O error on device vdb, logical block 130049 [ 116.015505] EXT4-fs warning (device vdb): ext4_end_bio:360: I/O error 19 writing to inode 19 starting block 66552) [ 116.015520] EXT4-fs (vdb): failed to convert unwritten extents to written extents -- potential data loss! (inode 19, error -5) [ 116.016451] EXT4-fs warning (device vdb): ext4_end_bio:360: I/O error 19 writing to inode 19 starting block 65784) [ 116.016459] EXT4-fs (vdb): failed to convert unwritten extents to written extents -- potential data loss! (inode 19, error -5)
This affects all kernels starting from v6.19 up to v7.3-rc4.
Note that this still allows encrypted inodes even when the 'encrypt' feature is missing as long as block size <= page size. With v1 encryption policies they can be used normally.
There's an additional bug that only affects kernels between v6.19 and v7.2 (but not v7.3), which will be dealt with separately.
Regards,
Berto
Alberto Garcia (2):
ext4: refuse encryption when block size > page size
ext4: reject encrypted inodes when block size > page size
fs/ext4/crypto.c | 9 +++++++++ fs/ext4/inode.c | 6 ++++++ 2 files changed, 15 insertions(+)
Signature · 1 line
2.47.3