Files
linux/fs
Miklos Szeredi 8577ded2ee fuse: prevent overflow in copy_file_range return value
commit 1e08938c3694f707bb165535df352ac97a8c75c9 upstream.

The FUSE protocol uses struct fuse_write_out to convey the return value of
copy_file_range, which is restricted to uint32_t.  But the COPY_FILE_RANGE
interface supports a 64-bit size copies.

Currently the number of bytes copied is silently truncated to 32-bit, which
may result in poor performance or even failure to copy in case of
truncation to zero.

Reported-by: Florian Weimer <fweimer@redhat.com>
Closes: https://lore.kernel.org/all/lhuh5ynl8z5.fsf@oldenburg.str.redhat.com/
Fixes: 88bc7d5097 ("fuse: add support for copy_file_range()")
Cc: <stable@vger.kernel.org> # v4.20
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-09-19 16:32:04 +02:00
..
2024-08-19 06:04:25 +02:00
2024-10-22 15:46:20 +02:00
2023-08-31 12:07:34 -05:00
2024-08-19 06:04:25 +02:00
2025-08-28 16:28:15 +02:00
2025-03-22 12:50:41 -07:00
2024-02-23 09:25:13 +01:00
2023-05-17 09:16:59 +02:00
2023-08-21 13:46:25 -07:00
2023-08-14 18:48:02 +02:00
2023-08-19 12:12:12 +02:00
2023-08-02 09:13:09 -06:00
2023-01-19 09:24:30 +01:00
2023-07-13 10:28:04 +02:00
2023-05-19 04:30:22 +02:00
2023-05-19 04:30:22 +02:00
2023-08-15 08:32:45 +02:00
2024-08-19 06:04:25 +02:00
2025-06-27 11:08:57 +01:00