fs/read_write: make default_llseek() killable
authorMax Kellermann <max.kellermann@ionos.com>
Tue, 13 May 2025 15:03:27 +0000 (17:03 +0200)
committerChristian Brauner <brauner@kernel.org>
Thu, 15 May 2025 10:03:12 +0000 (12:03 +0200)
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>
fs/read_write.c

index bb0ed26a0b3ae4669d78787fae464dd2b81e97a6..0ef70e128c4af2b4ad318a88426d4b60d00d400a 100644 (file)
@@ -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);