linux-yocto/fs/udf
Jan Kara 7722fba9f3 udf: Make sure i_lenExtents is uptodate on inode eviction
commit 55dd5b4db3bf04cf077a8d1712f6295d4517c337 upstream.

UDF maintains total length of all extents in i_lenExtents. Generally we
keep extent lengths (and thus i_lenExtents) block aligned because it
makes the file appending logic simpler. However the standard mandates
that the inode size must match the length of all extents and thus we
trim the last extent when closing the file. To catch possible bugs we
also verify that i_lenExtents matches i_size when evicting inode from
memory. Commit b405c1e58b ("udf: refactor udf_next_aext() to handle
error") however broke the code updating i_lenExtents and thus
udf_evict_inode() ended up spewing lots of errors about incorrectly
sized extents although the extents were actually sized properly. Fix the
updating of i_lenExtents to silence the errors.

Fixes: b405c1e58b ("udf: refactor udf_next_aext() to handle error")
CC: stable@vger.kernel.org
Signed-off-by: Jan Kara <jack@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-05-22 14:12:19 +02:00
..
balloc.c udf: refactor udf_next_aext() to handle error 2024-11-01 01:58:27 +01:00
dir.c fs: udf: Replace GPL 2.0 boilerplate license notice with SPDX identifier 2023-05-30 15:39:13 +02:00
directory.c udf: refactor inode_bmap() to handle error 2024-11-01 01:58:27 +01:00
ecma_167.h udf: Get rid of 0-length arrays in struct fileIdentDesc 2021-08-11 16:54:44 +02:00
file.c udf: Fix lock ordering in udf_evict_inode() 2024-08-03 08:53:38 +02:00
ialloc.c udf: convert to ctime accessor functions 2023-07-24 10:30:06 +02:00
inode.c udf: Fix inode_getblk() return value 2025-04-25 10:45:27 +02:00
Kconfig fs: add CONFIG_BUFFER_HEAD 2023-08-02 09:13:09 -06:00
lowlevel.c fs: udf: Replace GPL 2.0 boilerplate license notice with SPDX identifier 2023-05-30 15:39:13 +02:00
Makefile
misc.c fs: udf: Replace GPL 2.0 boilerplate license notice with SPDX identifier 2023-05-30 15:39:13 +02:00
namei.c udf: Verify inode link counts before performing rename 2025-01-09 13:31:50 +01:00
osta_udf.h udf: Get rid of 0-length arrays 2021-08-11 16:54:44 +02:00
partition.c udf: refactor inode_bmap() to handle error 2024-11-01 01:58:27 +01:00
super.c udf: refactor udf_next_aext() to handle error 2024-11-01 01:58:27 +01:00
symlink.c fs: pass the request_mask to generic_fillattr 2023-08-09 08:56:36 +02:00
truncate.c udf: Make sure i_lenExtents is uptodate on inode eviction 2025-05-22 14:12:19 +02:00
udf_i.h udf: Preserve link count of system files 2023-01-09 10:39:53 +01:00
udf_sb.h udf: Drop VARCONV support 2023-01-26 16:46:32 +01:00
udfdecl.h udf: refactor inode_bmap() to handle error 2024-11-01 01:58:27 +01:00
udfend.h
udftime.c udf: udftime: prevent overflow in udf_disk_stamp_to_time() 2024-06-27 13:49:04 +02:00
unicode.c udf: Fix uninitialized array access for some pathnames 2023-06-21 11:53:06 +02:00