Arnd Bergmann
f531d4bc6c
ftruncate: pass a signed offset
...
commit 4b8e88e563b5f666446d002ad0dc1e6e8e7102b0 upstream.
The old ftruncate() syscall, using the 32-bit off_t misses a sign
extension when called in compat mode on 64-bit architectures. As a
result, passing a negative length accidentally succeeds in truncating
to file size between 2GiB and 4GiB.
Changing the type of the compat syscall to the signed compat_off_t
changes the behavior so it instead returns -EINVAL.
The native entry point, the truncate() syscall and the corresponding
loff_t based variants are all correct already and do not suffer
from this mistake.
Fixes: 3f6d078d4acc ("fix compat truncate/ftruncate")
Reviewed-by: Christian Brauner <brauner@kernel.org>
Cc: stable@vger.kernel.org
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-07-05 09:08:31 +02:00
..
2022-12-19 12:24:16 +01:00
2020-04-02 15:11:02 +02:00
2019-09-17 10:27:46 -07:00
2020-04-01 11:01:34 +02:00
2024-04-13 12:51:26 +02:00
2020-02-19 19:53:09 +01:00
2019-08-28 17:24:22 +02:00
2022-06-14 18:11:59 +02:00
2020-07-22 09:33:13 +02:00
2023-05-17 11:35:55 +02:00
2023-02-06 07:52:47 +01:00
2022-08-25 11:18:04 +02:00
2021-06-16 11:59:44 +02:00
2023-11-28 16:50:17 +00:00
2023-12-13 18:18:15 +01:00
2022-06-14 18:12:03 +02:00
2024-02-23 08:25:14 +01:00
2021-04-21 12:56:16 +02:00
2022-09-05 10:27:41 +02:00
2019-09-13 12:47:36 +02:00
2019-09-13 12:47:36 +02:00
2022-09-15 12:04:50 +02:00
2023-05-30 12:44:10 +01:00
2020-10-01 13:18:18 +02:00
2020-02-24 08:36:47 +01:00
2020-02-11 04:35:55 -08:00
2023-09-23 11:00:03 +02:00
2023-11-20 10:30:12 +01:00
2019-09-04 14:57:28 +05:30
2024-02-23 08:24:48 +01:00
2024-05-17 11:43:48 +02:00
2023-09-23 11:00:01 +02:00
2023-12-13 18:18:10 +01:00
2021-05-07 10:51:36 +02:00
2020-01-09 10:19:59 +01:00
2022-03-19 13:40:15 +01:00
2022-10-26 13:22:39 +02:00
2019-08-30 21:29:32 -04:00
2020-05-14 07:58:30 +02:00
2020-05-14 07:58:30 +02:00
2019-09-02 15:55:03 +01:00
2020-10-01 13:17:47 +02:00
2021-07-14 16:53:48 +02:00
2022-07-29 17:14:18 +02:00
2019-10-14 15:04:01 -07:00
2023-06-09 10:28:54 +02:00
2019-08-28 21:17:12 -06:00
2022-04-15 14:18:01 +02:00
2019-09-05 19:52:34 -06:00
2022-05-25 09:14:38 +02:00
2020-03-05 16:43:52 +01:00
2021-09-15 09:47:39 +02:00
2024-02-23 08:24:57 +01:00
2022-09-15 12:04:49 +02:00
2019-09-05 10:15:16 +02:00
2020-12-16 10:56:58 +01:00
2020-09-09 19:12:34 +02:00
2021-09-26 14:07:10 +02:00
2022-07-21 20:59:17 +02:00
2022-12-14 11:30:43 +01:00
2019-09-19 15:31:27 -07:00
2023-08-30 16:27:27 +02:00
2019-09-24 15:54:10 -07:00
2024-07-05 09:08:31 +02:00
2019-10-11 09:26:05 -07:00
2021-02-17 10:35:16 +01:00
2020-12-16 10:56:59 +01:00
2021-01-23 15:57:55 +01:00
2021-09-30 10:09:25 +02:00
2021-05-26 12:05:20 +02:00
2021-11-17 09:48:25 +01:00
2019-09-04 13:38:26 +02:00
2023-08-08 19:56:33 +02:00
2020-02-11 04:35:25 -08:00
2023-12-13 18:18:09 +01:00
2019-09-03 09:36:36 +02:00
2019-09-17 19:15:14 -07:00
2019-09-25 17:51:40 -07:00
2023-12-20 15:41:18 +01:00
2021-03-09 11:09:38 +01:00
2020-09-23 12:40:47 +02:00
2023-05-17 11:35:32 +02:00
2020-04-17 10:50:09 +02:00
2023-01-18 11:41:52 +01:00
2022-06-25 12:44:35 +02:00
2023-11-08 11:23:39 +01:00
2023-05-30 12:44:01 +01:00
2021-01-19 18:26:13 +01:00
2020-07-29 10:18:29 +02:00
2020-01-04 19:17:24 +01:00
2023-02-25 11:53:25 +01:00
2023-04-05 11:16:43 +02:00
2024-02-23 08:25:06 +01:00
2020-04-01 11:01:53 +02:00
2022-10-26 13:22:37 +02:00
2019-09-03 19:21:19 +02:00
2021-03-11 14:06:50 +01:00
2022-11-10 17:57:55 +01:00
2021-05-19 10:08:30 +02:00
2021-10-27 09:54:27 +02:00
2020-06-17 16:40:20 +02:00
2021-09-15 09:47:33 +02:00
2024-05-02 16:18:36 +02:00
2023-09-23 10:59:40 +02:00
2019-10-18 15:32:52 +02:00
2021-04-07 14:47:43 +02:00
2020-04-23 10:36:33 +02:00
2020-09-03 11:27:09 +02:00
2022-07-12 16:30:47 +02:00
2024-03-26 18:22:15 -04:00
2020-10-14 10:32:56 +02:00
2024-04-13 12:51:29 +02:00
2022-01-20 09:19:17 +01:00
2024-04-13 12:51:35 +02:00
2021-09-12 08:56:38 +02:00
2020-05-14 07:58:30 +02:00
2022-02-01 17:24:39 +01:00
2023-04-20 12:07:34 +02:00
2020-03-25 08:25:58 +01:00
2020-10-07 08:01:29 +02:00
2024-04-13 12:51:34 +02:00
2019-09-05 11:40:54 +02:00
2023-12-08 08:44:23 +01:00
2023-01-18 11:41:55 +01:00
2020-11-05 11:43:36 +01:00
2024-03-26 18:22:18 -04:00
2024-02-23 08:25:08 +01:00
2021-06-30 08:47:52 -04:00
2023-02-22 12:50:39 +01:00
2022-06-22 14:11:12 +02:00
2019-10-02 06:36:50 -07:00
2020-08-11 15:33:38 +02:00
2020-09-23 12:40:38 +02:00
2021-05-19 10:08:22 +02:00
2021-03-04 10:26:53 +01:00
2019-09-03 11:33:29 +02:00
2023-11-20 10:30:15 +01:00
2020-06-03 08:21:36 +02:00
2023-09-23 10:59:55 +02:00
2020-01-12 12:21:46 +01:00
2021-03-30 14:35:25 +02:00
2023-10-10 21:46:37 +02:00
2023-05-30 12:44:01 +01:00
2023-03-11 16:44:02 +01:00
2020-03-18 07:17:38 +01:00
2021-08-18 08:57:01 +02:00
2019-08-28 11:50:33 +02:00
2021-02-03 23:26:01 +01:00
2020-02-28 17:22:26 +01:00
2023-08-30 16:27:13 +02:00
2023-05-17 11:35:46 +02:00
2019-09-25 17:51:39 -07:00
2020-07-29 10:18:44 +02:00
2019-08-30 16:12:10 +02:00
2020-05-10 10:31:30 +02:00
2020-04-17 10:50:04 +02:00
2022-09-28 11:03:58 +02:00
2024-07-05 09:08:16 +02:00
2023-10-25 11:53:22 +02:00
2022-10-26 13:22:46 +02:00
2021-12-01 09:23:35 +01:00
2019-12-31 16:44:14 +01:00
2022-04-15 14:18:32 +02:00
2021-08-18 08:57:02 +02:00
2023-03-17 08:32:49 +01:00
2023-08-11 11:53:43 +02:00
2020-07-16 08:16:44 +02:00
2021-01-09 13:44:54 +01:00
2023-03-11 16:43:38 +01:00
2023-02-06 07:52:50 +01:00
2019-12-13 08:42:53 +01:00
2022-07-02 16:28:50 +02:00
2020-04-23 10:36:45 +02:00
2021-03-04 10:26:29 +01:00
2022-08-25 11:18:04 +02:00
2020-06-22 09:31:03 +02:00
2020-10-14 10:33:05 +02:00
2023-03-11 16:44:02 +01:00
2021-02-07 15:35:49 +01:00
2022-10-07 09:16:54 +02:00
2020-02-11 04:35:40 -08:00
2019-10-08 22:05:58 +02:00
2023-10-10 21:46:42 +02:00
2020-01-04 19:18:28 +01:00
2019-08-29 13:49:13 -07:00
2020-11-10 12:37:24 +01:00
2020-02-24 08:36:45 +01:00
2023-06-28 10:18:35 +02:00
2024-03-01 13:13:38 +01:00
2020-09-09 19:12:29 +02:00
2024-02-23 08:25:15 +01:00
2022-06-14 18:11:42 +02:00
2021-04-21 12:56:18 +02:00
2023-01-18 11:41:56 +01:00
2022-05-25 09:14:32 +02:00
2023-10-25 11:53:19 +02:00
2021-10-09 14:39:49 +02:00
2022-01-05 12:37:44 +01:00
2021-08-26 08:36:22 -04:00
2021-09-22 12:26:43 +02:00
2019-11-15 18:34:00 -08:00
2019-09-28 14:05:38 -07:00
2019-09-29 10:33:41 -07:00
2020-10-07 08:01:25 +02:00
2024-07-05 09:08:27 +02:00
2019-10-04 18:11:08 -07:00
2019-12-13 08:43:18 +01:00
2019-09-25 17:51:40 -07:00
2021-05-19 10:08:31 +02:00
2023-08-30 16:27:26 +02:00
2022-07-29 17:14:18 +02:00
2022-12-08 11:23:04 +01:00
2019-09-07 04:28:04 -03:00
2022-05-15 19:54:46 +02:00
2022-10-07 09:16:54 +02:00
2021-05-11 14:04:04 +02:00
2024-06-16 13:28:45 +02:00
2021-08-18 08:57:03 +02:00
2021-03-30 14:35:29 +02:00
2023-09-23 10:59:40 +02:00
2020-10-14 10:33:00 +02:00
2022-05-18 09:47:24 +02:00
2023-11-20 10:30:10 +01:00
2019-09-13 12:35:33 +02:00
2023-06-21 15:44:10 +02:00
2020-11-18 19:20:17 +01:00
2020-11-18 19:20:17 +01:00
2023-06-21 15:44:10 +02:00
2022-04-15 14:18:35 +02:00
2020-10-01 13:17:52 +02:00
2020-05-06 08:15:05 +02:00
2023-09-23 10:59:38 +02:00
2023-07-27 08:37:10 +02:00
2020-10-07 08:01:30 +02:00
2022-06-14 18:12:02 +02:00
2023-02-25 11:53:26 +01:00
2020-04-17 10:50:10 +02:00
2023-04-05 11:16:38 +02:00
2024-07-05 09:08:28 +02:00
2019-12-31 16:44:43 +01:00
2021-12-08 09:01:08 +01:00
2019-09-11 14:46:02 +01:00
2023-12-13 18:18:11 +01:00
2023-12-13 18:18:11 +01:00
2022-11-01 19:06:42 +01:00
2021-09-03 10:08:12 +02:00
2020-10-29 09:57:51 +01:00
2020-06-17 16:40:22 +02:00
2019-10-14 15:04:00 -07:00
2020-10-29 09:57:52 +01:00
2020-03-25 08:25:58 +01:00
2021-06-30 08:47:55 -04:00
2019-09-07 04:28:04 -03:00
2019-08-28 15:25:53 -05:00
2024-02-23 08:25:01 +01:00
2021-09-26 14:07:05 +02:00
2020-04-17 10:50:11 +02:00
2024-07-05 09:08:25 +02:00
2020-04-23 10:36:37 +02:00
2020-02-11 04:35:44 -08:00
2023-12-13 18:18:15 +01:00
2019-09-05 11:54:14 +02:00
2020-03-18 07:17:46 +01:00
2023-11-08 11:23:39 +01:00
2023-05-17 11:36:04 +02:00
2019-12-21 11:04:31 +01:00
2024-02-23 08:25:14 +01:00
2023-08-11 11:54:00 +02:00
2021-05-19 10:08:20 +02:00
2020-05-20 08:20:27 +02:00
2024-03-26 18:22:13 -04:00
2020-01-04 19:18:48 +01:00
2019-09-05 21:16:22 +02:00
2023-06-05 08:17:31 +02:00
2022-06-22 14:11:16 +02:00
2023-11-20 10:30:12 +01:00
2020-12-30 11:50:55 +01:00
2023-05-17 11:36:04 +02:00
2023-01-18 11:41:02 +01:00
2022-02-05 12:35:36 +01:00
2022-02-05 12:35:36 +01:00
2021-06-23 14:41:26 +02:00
2022-06-14 18:11:24 +02:00
2023-11-28 16:50:16 +00:00
2020-11-01 12:01:06 +01:00
2023-10-25 11:53:18 +02:00
2023-10-25 11:53:18 +02:00
2019-11-01 22:26:34 -04:00
2023-08-30 16:27:27 +02:00
2019-09-12 21:05:34 -04:00
2023-02-25 11:53:25 +01:00
2022-06-29 08:58:45 +02:00
2019-09-25 17:51:39 -07:00
2020-02-24 08:36:45 +01:00
2024-03-26 18:22:25 -04:00
2019-09-25 17:42:29 +02:00
2022-07-29 17:14:17 +02:00
2024-03-15 10:48:20 -04:00
2019-10-28 12:18:23 +01:00
2019-10-24 10:26:33 +02:00
2020-08-05 09:59:47 +02:00
2022-12-08 11:23:05 +01:00
2022-09-05 10:27:46 +02:00
2019-09-16 11:43:38 -05:00
2023-11-08 11:23:39 +01:00
2022-07-12 16:30:49 +02:00
2021-01-09 13:44:55 +01:00
2023-02-25 11:53:25 +01:00
2022-09-05 10:27:39 +02:00
2024-02-23 08:25:15 +01:00
2020-04-02 15:11:00 +02:00
2020-12-30 11:51:21 +01:00
2020-10-01 13:17:25 +02:00
2023-07-27 08:37:38 +02:00
2024-05-02 16:18:37 +02:00
2020-06-17 16:40:31 +02:00
2023-03-22 13:28:08 +01:00
2019-09-12 21:05:34 -04:00
2019-09-24 15:54:11 -07:00
2022-06-22 14:11:16 +02:00
2024-05-17 11:43:53 +02:00
2021-04-14 08:24:12 +02:00
2019-10-07 15:47:20 -07:00
2021-05-14 09:44:33 +02:00
2021-06-23 14:41:25 +02:00
2023-02-22 12:50:34 +01:00
2021-03-17 17:03:56 +01:00
2023-05-30 12:44:08 +01:00
2020-06-22 09:31:12 +02:00
2022-02-16 12:52:50 +01:00
2020-04-13 10:48:07 +02:00
2021-03-07 12:20:49 +01:00
2020-04-23 10:36:37 +02:00
2020-11-24 13:29:04 +01:00
2024-07-05 09:08:31 +02:00
2023-02-06 07:52:48 +01:00
2021-03-07 12:20:48 +01:00
2019-09-17 20:03:49 -06:00
2023-07-27 08:37:45 +02:00
2022-03-02 11:41:04 +01:00
2021-09-26 14:07:10 +02:00
2021-03-24 11:26:44 +01:00
2023-05-17 11:35:57 +02:00
2021-09-16 12:56:13 +02:00
2019-12-18 16:08:43 +01:00
2024-04-13 12:51:21 +02:00
2023-01-18 11:40:53 +01:00
2022-06-22 14:11:15 +02:00
2020-01-23 08:22:44 +01:00
2022-03-08 19:07:48 +01:00
2023-01-18 11:42:00 +01:00
2020-08-19 08:16:27 +02:00
2024-05-02 16:18:35 +02:00
2020-12-30 11:51:21 +01:00
2023-03-22 13:28:08 +01:00
2021-05-14 09:44:22 +02:00
2022-07-29 17:14:20 +02:00
2023-05-17 11:36:04 +02:00
2024-05-02 16:18:28 +02:00
2023-03-11 16:43:56 +01:00
2021-02-17 10:35:19 +01:00
2024-02-23 08:24:47 +01:00
2021-03-24 11:26:40 +01:00
2023-05-30 12:44:10 +01:00
2024-04-13 12:51:34 +02:00
2022-03-16 13:21:48 +01:00
2023-08-30 16:27:17 +02:00
2020-10-07 08:01:24 +02:00
2022-03-16 13:21:48 +01:00
2020-04-29 16:33:14 +02:00
2023-05-17 11:35:46 +02:00
2020-04-02 15:11:00 +02:00
2019-09-04 14:34:31 +02:00
2023-08-30 16:27:26 +02:00
2023-07-27 08:37:29 +02:00
2021-06-10 13:37:14 +02:00
2020-08-11 15:33:39 +02:00
2019-09-24 15:54:12 -07:00
2021-03-07 12:20:49 +01:00