Files
linux/fs
Jann Horn 642335f3ea ext4: don't treat fhandle lookup of ea_inode as FS corruption
A file handle that userspace provides to open_by_handle_at() can
legitimately contain an outdated inode number that has since been reused
for another purpose - that's why the file handle also contains a generation
number.

But if the inode number has been reused for an ea_inode, check_igot_inode()
will notice, __ext4_iget() will go through ext4_error_inode(), and if the
inode was newly created, it will also be marked as bad by iget_failed().
This all happens before the point where the inode generation is checked.

ext4_error_inode() is supposed to only be used on filesystem corruption; it
should not be used when userspace just got unlucky with a stale file
handle. So when this happens, let __ext4_iget() just return an error.

Fixes: b3e6bcb945 ("ext4: add EA_INODE checking to ext4_iget()")
Signed-off-by: Jann Horn <jannh@google.com>
Reviewed-by: Jan Kara <jack@suse.cz>
Link: https://patch.msgid.link/20241129-ext4-ignore-ea-fhandle-v1-1-e532c0d1cee0@google.com
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
2025-04-10 10:53:50 -04:00
..
2024-12-05 12:31:40 +01:00
2024-12-03 10:40:36 +01:00
2024-08-21 22:32:58 +02:00
2025-02-07 10:27:24 +01:00
2025-01-27 19:25:45 -05:00
2024-11-03 01:28:06 -05:00
2024-12-09 11:34:29 +01:00
2024-12-17 09:16:11 +01:00
2024-11-03 01:28:06 -05:00
2024-11-03 01:28:06 -05:00
2024-10-21 16:29:38 +02:00
2024-10-21 16:29:38 +02:00
2025-01-09 16:58:54 +01:00
2025-01-09 16:58:52 +01:00
2025-02-07 10:27:28 +01:00
2024-11-03 01:28:07 -05:00
2024-11-03 01:28:06 -05:00
2025-01-25 20:22:31 -08:00
2024-11-03 01:28:06 -05:00
2024-11-03 01:28:06 -05:00