Damian Szuberski
63652e1546
Add --enable-asan and --enable-ubsan switches
...
`configure` now accepts `--enable-asan` and `--enable-ubsan` switches
which results in passing `-fsanitize=address`
and `-fsanitize=undefined`, respectively, to the compiler. Those
flags are enabled in GitHub workflows for ZTS and zloop. Errors
reported by both instrumentations are corrected, except for:
- Memory leak reporting is (temporarily) suppressed. The cost of
fixing them is relatively high compared to the gains.
- Checksum computing functions in `module/zcommon/zfs_fletcher*`
have UBSan errors suppressed. It is completely impractical
to enforce 64-byte payload alignment there due to performance
impact.
- There's no ASan heap poisoning in `module/zstd/lib/zstd.c`. A custom
memory allocator is used there rendering that measure
unfeasible.
- Memory leaks detection has to be suppressed for `cmd/zvol_id`.
`zvol_id` is run by udev with the help of `ptrace(2)`. Tracing is
incompatible with memory leaks detection.
Reviewed-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Reviewed-by: George Melikov <mail@gmelikov.ru >
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: szubersk <szuberskidamian@gmail.com >
Closes #12928
2022-02-03 14:35:38 -08:00
..
2018-05-29 14:51:39 -07:00
2021-09-02 10:02:08 -07:00
2020-04-14 11:36:28 -07:00
2022-02-03 14:35:38 -08:00
2021-01-26 16:12:26 -08:00
2022-01-06 12:46:42 -08:00
2022-01-13 09:51:12 -07:00
2022-01-13 09:51:12 -07:00
2020-12-03 10:01:16 -08:00
2021-06-01 11:38:54 -07:00
2019-09-05 09:34:54 -07:00
2022-01-07 10:36:49 -08:00
2021-01-26 16:12:26 -08:00
2021-10-29 15:36:01 -07:00
2019-03-02 16:19:05 -08:00
2019-03-02 16:19:05 -08:00
2018-05-29 14:51:39 -07:00
2020-07-10 14:26:12 -07:00
2021-04-02 18:52:15 -07:00
2021-04-08 14:37:51 -07:00
2020-09-04 11:11:18 -07:00
2019-04-19 12:09:29 -07:00
2019-04-19 12:09:29 -07:00
2020-06-22 09:46:37 -07:00
2019-04-19 12:09:29 -07:00
2019-10-01 12:50:34 -07:00
2021-09-09 09:38:35 -07:00
2022-01-24 12:59:09 -08:00
2019-10-01 12:50:34 -07:00
2019-11-12 08:59:06 -08:00
2021-05-27 22:39:53 -07:00
2021-03-19 22:33:42 -07:00
2021-12-07 12:28:12 -08:00
2021-09-08 09:03:13 -06:00
2021-12-01 17:07:12 -07:00
2021-05-11 19:53:02 -07:00
2019-10-01 12:50:34 -07:00
2019-11-12 08:59:06 -08:00
2021-07-16 14:28:55 -06:00
2019-10-01 12:50:34 -07:00
2019-10-01 12:50:34 -07:00
2019-11-18 13:05:56 -08:00
2019-10-01 12:50:34 -07:00
2019-11-12 08:59:06 -08:00
2019-10-01 12:50:34 -07:00
2019-11-12 08:59:06 -08:00
2022-01-24 12:59:25 -08:00
2019-10-01 12:50:34 -07:00
2019-10-01 12:50:34 -07:00
2019-11-12 08:59:06 -08:00
2019-11-12 08:59:06 -08:00
2021-11-29 10:49:33 -08:00
2019-11-12 08:59:06 -08:00
2019-11-12 08:59:06 -08:00
2021-04-02 18:52:15 -07:00
2021-02-24 10:06:05 -08:00
2019-10-01 12:50:34 -07:00
2019-11-12 08:59:06 -08:00
2019-10-01 12:50:34 -07:00
2020-08-29 20:57:45 -07:00
2019-10-01 12:50:34 -07:00
2020-12-10 14:09:23 -08:00
2019-10-01 12:50:34 -07:00
2021-03-19 21:00:59 -07:00
2021-03-19 21:00:59 -07:00
2019-10-01 12:50:34 -07:00
2019-11-12 08:59:06 -08:00
2019-10-01 12:50:34 -07:00
2019-10-01 12:50:34 -07:00
2020-05-04 15:25:48 -07:00
2019-11-12 08:59:06 -08:00
2021-05-26 15:26:06 -07:00
2019-11-12 08:59:06 -08:00
2019-11-12 08:59:06 -08:00
2022-01-24 12:57:50 -08:00
2019-11-12 08:59:06 -08:00
2022-01-25 12:52:51 -08:00
2020-02-27 09:30:45 -08:00
2019-11-12 08:59:06 -08:00
2019-11-12 08:59:06 -08:00
2019-10-01 12:50:34 -07:00
2021-07-23 15:28:03 -07:00
2019-10-01 12:50:34 -07:00
2021-03-19 21:00:59 -07:00
2021-03-19 21:00:59 -07:00
2019-10-01 12:50:34 -07:00
2020-11-02 22:01:10 +00:00
2021-11-29 10:48:52 -08:00
2022-01-25 12:53:00 -08:00
2021-05-27 14:27:29 -06:00
2020-02-07 11:03:53 -08:00
2020-06-09 21:24:09 -07:00
2021-04-01 08:37:41 -07:00
2020-12-27 16:20:40 -08:00
2019-10-01 12:50:34 -07:00
2020-12-09 21:22:54 -08:00
2019-11-12 08:59:06 -08:00
2019-11-12 08:59:06 -08:00
2019-11-12 08:59:06 -08:00
2021-03-19 21:00:59 -07:00
2019-11-12 08:59:06 -08:00
2019-11-12 08:59:06 -08:00
2019-11-12 08:59:06 -08:00
2021-04-15 13:34:35 -07:00
2021-04-15 13:34:35 -07:00
2021-04-15 13:34:35 -07:00
2021-09-08 12:59:43 -07:00
2019-10-01 12:50:34 -07:00
2021-03-19 21:00:59 -07:00
2019-10-01 12:50:34 -07:00
2021-05-20 16:02:36 -07:00
2019-10-01 12:50:34 -07:00
2019-10-01 12:50:34 -07:00
2019-11-12 08:59:06 -08:00
2020-07-19 09:56:21 -07:00
2019-11-12 08:59:06 -08:00
2019-10-01 12:50:34 -07:00
2019-11-12 08:59:06 -08:00
2019-10-01 12:50:34 -07:00
2022-01-24 12:59:09 -08:00
2019-10-01 12:50:34 -07:00
2019-10-01 12:50:34 -07:00
2021-07-26 10:55:55 -07:00
2019-10-01 12:50:34 -07:00
2021-03-19 21:00:59 -07:00
2019-11-12 08:59:06 -08:00
2022-01-25 12:52:12 -08:00
2019-04-19 12:09:29 -07:00
2020-06-22 09:46:37 -07:00
2020-06-22 09:46:37 -07:00
2021-01-02 16:55:55 -08:00
2019-04-19 12:09:29 -07:00
2019-08-30 09:40:30 -07:00
2019-04-19 12:09:29 -07:00
2019-04-19 12:09:29 -07:00
2020-09-12 08:22:07 -07:00
2022-02-03 14:35:38 -08:00
2021-11-30 10:23:10 -08:00
2022-02-03 14:35:38 -08:00
2020-07-14 17:32:21 -07:00
2020-04-14 11:36:28 -07:00
2020-07-10 14:26:00 -07:00
2021-01-02 16:55:55 -08:00
2020-07-10 14:26:12 -07:00
2020-07-10 14:26:40 -07:00
2021-07-13 13:50:48 -07:00
2020-07-10 14:26:40 -07:00
2020-07-10 14:26:40 -07:00
2021-01-02 16:55:55 -08:00
2022-01-06 11:26:40 -08:00
2020-07-10 14:26:40 -07:00
2020-07-10 14:26:40 -07:00
2020-07-10 14:26:40 -07:00
2021-01-02 16:55:55 -08:00
2020-07-30 09:09:46 -07:00
2014-03-31 16:11:13 -07:00
2021-01-02 16:55:55 -08:00
2021-01-02 16:55:55 -08:00
2021-01-02 16:55:55 -08:00
2020-07-10 14:26:40 -07:00
2021-05-12 21:21:35 -07:00
2022-02-03 14:35:38 -08:00
2021-11-11 13:27:37 -07:00