diff options
author | 2025-05-13 17:03:27 +0200 | |
---|---|---|
committer | 2025-05-15 12:03:12 +0200 | |
commit | 2e1a8fbff51bb9bdf0fe9c6602855e308efcfcdb (patch) | |
tree | 87d15c942c066ccb631fbb43b79c93be231fc160 | |
parent | fs/open: make do_truncate() killable (diff) | |
download | linux-rng-2e1a8fbff51bb9bdf0fe9c6602855e308efcfcdb.tar.xz linux-rng-2e1a8fbff51bb9bdf0fe9c6602855e308efcfcdb.zip |
fs/read_write: make default_llseek() killable
Allows killing processes that are waiting for the inode lock.
Signed-off-by: Max Kellermann <max.kellermann@ionos.com>
Link: https://lore.kernel.org/20250513150327.1373061-4-max.kellermann@ionos.com
Signed-off-by: Christian Brauner <brauner@kernel.org>
-rw-r--r-- | fs/read_write.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/read_write.c b/fs/read_write.c index bb0ed26a0b3a..0ef70e128c4a 100644 --- a/fs/read_write.c +++ b/fs/read_write.c @@ -332,7 +332,9 @@ loff_t default_llseek(struct file *file, loff_t offset, int whence) struct inode *inode = file_inode(file); loff_t retval; - inode_lock(inode); + retval = inode_lock_killable(inode); + if (retval) + return retval; switch (whence) { case SEEK_END: offset += i_size_read(inode); |