Richard Yao
fa46802585
Fix possible bad bit shift in dnode_next_offset_level()
...
031d7c2fe6 did not handle reverse
iteration, such that the original issue theoretically could still occur.
Note that contrary to the claim in the ZFS disk format specification
that a maximum of 6 levels are possible, 9 levels are possible with
recordsize=512 and and indirect block size of 16KB. In this unusual
configuration, span will be 65. The maximum size of span at 70 can be
reached at recordsize=16K and an indirect blocksize of 16KB.
When we are at this indirection level and are traversing backward, the
minimum value is start, but we cannot calculate that with 64-bit
arithmetic, so we avoid the calculation and instead rely on the earlier
statement that did `*offset = start;`.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Richard Yao <richard.yao@alumni.stonybrook.edu >
Reported-by: Coverity (CID-1466214)
Closes #14618
2023-03-16 14:27:49 -07:00
..
2022-10-19 17:11:01 -07:00
2022-03-15 15:13:42 -07:00
2023-03-08 11:17:23 -08:00
2023-01-12 16:00:37 -08:00
2022-03-15 15:13:42 -07:00
2022-07-11 14:16:13 -07:00
2023-03-08 13:51:55 -08:00
2022-07-11 14:16:13 -07:00
2023-01-10 13:39:22 -08:00
2023-03-14 14:44:01 -07:00
2022-10-20 11:57:15 -07:00
2022-10-29 13:05:11 -07:00
2022-09-22 12:59:41 -07:00
2023-03-14 15:00:54 -07:00
2022-07-11 14:16:13 -07:00
2023-03-10 11:59:53 -08:00
2022-07-11 14:16:13 -07:00
2023-02-16 09:23:39 -08:00
2023-03-08 13:52:15 -08:00
2023-03-14 15:25:50 -07:00
2023-03-08 13:51:46 -08:00
2023-02-14 11:03:42 -08:00
2022-12-22 12:10:24 -08:00
2023-03-10 11:59:53 -08:00
2023-03-01 15:27:40 -08:00
2023-03-10 11:59:53 -08:00
2023-01-23 13:12:37 -08:00
2023-03-16 14:27:49 -07:00
2023-03-14 15:25:50 -07:00
2023-03-14 15:25:50 -07:00
2023-03-14 15:25:50 -07:00
2023-03-06 15:28:26 -08:00
2022-07-11 14:16:13 -07:00
2023-03-14 15:25:50 -07:00
2023-03-08 13:51:50 -08:00
2023-02-23 18:14:52 -07:00
2023-03-14 15:25:50 -07:00
2023-03-10 11:59:53 -08:00
2022-07-11 14:16:13 -07:00
2023-03-14 15:25:50 -07:00
2023-03-14 15:59:58 -07:00
2023-03-14 15:25:50 -07:00
2022-07-11 14:16:13 -07:00
2022-03-15 15:13:42 -07:00
2022-01-07 10:36:49 -08:00
2022-01-12 16:14:36 -08:00
2022-07-11 14:16:13 -07:00
2022-12-09 10:48:33 -08:00
2022-10-14 13:37:54 -07:00
2022-09-27 16:42:41 -07:00
2019-06-19 09:48:12 -07:00
2022-07-11 14:16:13 -07:00
2022-10-12 11:25:18 -07:00
2022-09-27 16:42:41 -07:00
2022-07-11 14:16:13 -07:00
2023-03-08 13:51:46 -08:00
2023-03-02 13:52:21 -08:00
2022-03-15 15:13:42 -07:00
2022-10-13 10:03:29 -07:00
2023-03-14 15:25:50 -07:00
2022-12-22 11:48:49 -08:00
2023-03-14 15:25:50 -07:00
2022-11-03 09:58:14 -07:00
2023-03-14 15:25:50 -07:00
2022-09-27 16:42:41 -07:00
2023-03-14 15:25:50 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2018-06-06 09:35:59 -07:00
2018-06-06 09:35:59 -07:00
2022-11-29 09:56:16 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-27 16:42:41 -07:00
2020-11-13 13:51:51 -08:00
2023-03-14 15:25:50 -07:00
2022-03-15 15:13:42 -07:00
2022-03-15 15:13:42 -07:00
2023-01-12 16:00:03 -08:00
2022-10-13 10:03:29 -07:00
2023-03-14 15:25:50 -07:00
2022-09-08 10:30:53 -07:00
2022-07-11 14:16:13 -07:00
2022-10-27 09:54:54 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-11-30 13:46:26 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-09-06 09:43:21 -07:00
2023-01-13 10:58:58 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2022-11-28 13:49:58 -08:00
2022-12-02 17:42:22 -08:00
2023-01-27 10:02:24 -08:00
2023-03-14 15:25:50 -07:00
2022-07-11 14:16:13 -07:00
2022-10-28 10:16:31 -07:00
2023-03-14 15:25:50 -07:00
2023-03-08 13:51:46 -08:00
2023-01-10 13:41:54 -08:00
2023-01-12 16:00:37 -08:00
2023-03-14 15:25:50 -07:00
2018-02-08 15:29:24 -08:00
2023-03-14 15:25:50 -07:00
2020-02-14 13:41:42 -08:00
2022-09-02 13:31:19 -07:00
2023-03-14 15:25:50 -07:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2023-03-02 13:52:21 -08:00
2023-01-23 13:14:25 -08:00
2023-03-14 15:25:50 -07:00
2023-03-02 13:52:21 -08:00
2023-03-14 15:25:50 -07:00
2023-03-10 11:59:53 -08:00
2022-11-03 09:52:12 -07:00
2023-03-10 11:59:53 -08:00
2022-07-11 14:16:13 -07:00
2023-03-10 11:59:53 -08:00
2022-07-11 14:16:13 -07:00
2022-07-11 14:16:13 -07:00
2023-03-10 11:59:53 -08:00
2023-03-10 11:59:53 -08:00
2023-03-02 13:52:21 -08:00
2023-02-27 14:41:02 -08:00
2022-09-27 16:35:29 -07:00
2023-03-10 11:59:53 -08:00
2022-07-11 14:16:13 -07:00
2022-11-29 09:26:03 -08:00
2022-03-23 08:51:00 -07:00
2023-03-10 11:59:53 -08:00