наб
6fc34371e1
libzfs: pool: fix false-positives -Wmaybe-uninitialised
...
As noted by gcc (Debian 10.2.1-6) 10.2.1 20210110
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #13316
2022-05-10 10:18:06 -07:00
Aidan Harris
493b6e5607
Fix functions without a prototype
...
clang-15 emits the following error message for functions without
a prototype:
fs/zfs/os/linux/spl/spl-kmem-cache.c:1423:27: error:
a function declaration without a prototype is deprecated
in all versions of C [-Werror,-Wstrict-prototypes]
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Aidan Harris <me@aidanharr.is >
Closes #13421
2022-05-06 11:57:37 -07:00
наб
ad9e767657
linux: module: weld all but spl.ko into zfs.ko
...
Originally it was thought it would be useful to split up the kmods
by functionality. This would allow external consumers to only load
what was needed. However, in practice we've never had a case where
this functionality would be needed, and conversely managing multiple
kmods can be awkward. Therefore, this change merges all but the
spl.ko kmod in to a single zfs.ko kmod.
Reviewed-by: Tony Hutter <hutter2@llnl.gov >
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #13274
2022-04-20 13:28:24 -07:00
наб
d465fc5844
Forbid b{copy,zero,cmp}(). Don't include <strings.h> for <string.h>
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12996
2022-03-15 15:13:48 -07:00
наб
861166b027
Remove bcopy(), bzero(), bcmp()
...
bcopy() has a confusing argument order and is actually a move, not a
copy; they're all deprecated since POSIX.1-2001 and removed in -2008,
and we shim them out to mem*() on Linux anyway
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12996
2022-03-15 15:13:42 -07:00
наб
0ea6510aa0
module: icp: remove useless assert
...
Which produces a warning since uints are, by definition, >=0
Reviewed-by: Alejandro Colomar <alx.manpages@gmail.com >
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #13110
2022-02-18 09:34:18 -08:00
наб
666749806d
module: icp: remove provider stats
...
These were all folded into a single kstat at
/proc/spl/kstat/kcf/NONAME_provider_stats
with no way to know which one it actually was,
and only the AES and SHA (so not Skein) ones were ever updated
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:26:08 -08:00
наб
bf86638687
module: icp: enforce KCF_{OPS_CLASSSIZE,MAXMECHTAB}
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:26:04 -08:00
наб
e013057492
module: icp: remove unused pd_{remove_cv,hash_limit}
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:26:00 -08:00
наб
de0ec5e7df
module: icp: remove vestigia of crypto sessions
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:56 -08:00
наб
cf497e18df
module: icp: remove unused (and mostly faked) cm_{{min,max}_key_length,mech_flags}
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:52 -08:00
наб
11320b4cdf
module: icp: remove unused crypto_provider_handle_t
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:46 -08:00
наб
f5e7d918a7
module: icp: remove pre-set entries from mechtabs
...
They don't do anything except clogging up the AVL tree
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:41 -08:00
наб
df7b54f1d9
module: icp: rip out insane crypto_req_handle_t mechanism, inline KM_SLEEP
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:37 -08:00
наб
15ec086396
include: crypto: clean out api.h
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:32 -08:00
наб
42dbc2025a
module: icp: remove unused headers. Migrate {ops => sched}_impl
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:28 -08:00
наб
1949be46c3
include: crypto: clean out unused SYSCALL32 and flags
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:24 -08:00
наб
f43748f6e1
module: icp: remove algorithm name defines used only in the default mechtab
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:21 -08:00
наб
64e82cea13
module: icp: remove set-but-unused cd_miscdata
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:13 -08:00
наб
739afd9475
module: icp: fold away all key formats except CRYPTO_KEY_RAW
...
It's the only one actually used
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:07 -08:00
наб
1018e81e30
module: icp: remove unused CRYPTO_* error codes
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:25:03 -08:00
наб
7eacb87112
module: icp: rip out modhash. Replace the one user with AVL
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:59 -08:00
наб
1cb6fa2cb8
module: icp: remove unused me_mutex
...
It only needs to be locked if dynamic changes can occur. They can't.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:54 -08:00
наб
cb6e9c3f5f
module: icp: remove unused me_threshold
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:50 -08:00
наб
7f90cf3043
module: icp: remove unused struct crypto_ctx::cc_{session,flags,opstate}
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:46 -08:00
наб
a288428d83
module: icp: remove unused gswq, kcfpool, [as]req_cache, reqid_table, obsolete kstat
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:42 -08:00
наб
1c17d2940c
module: icp: remove unused notification framework
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:37 -08:00
наб
3fd5ead75e
module: icp: remove unused kcf_op_{group,type}, req_params, ...
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:33 -08:00
наб
f3c3a6d47e
module: icp: remove unused p[di]_flags
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:29 -08:00
наб
d77702035a
module: icp: remove unused CRYPTO_{NOTIFY_OPDONE,SKIP_REQID,RESTRICTED}
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:24 -08:00
наб
eb1e09b7ec
module: icp: remove unused CRYPTO_ALWAYS_QUEUE
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:19 -08:00
наб
65a613b70d
module: icp: remove unused kcf_digest.c
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:14 -08:00
наб
255bc38e6f
module: icp: drop software provider generation numbers
...
We register all providers at once, before anything happens
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:09 -08:00
наб
bf3fffe70d
module: icp: remove unused kcf_mac operations
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:24:04 -08:00
наб
2c2f955aae
module: icp: remove unused kcf_cipher operations
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:23:59 -08:00
наб
710657f51d
module: icp: remove other provider types
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:23:53 -08:00
наб
167ced3fb1
module: icp: use original mechanisms
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:23:49 -08:00
наб
bcee18d4e0
module: icp: use original description
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:23:45 -08:00
наб
b0502ab097
module: icp: guarantee the ops vector is persistent
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:23:40 -08:00
наб
d59a7fae40
module: icp: have a static 8 providers
...
This is currently twice the amount we actually have (sha[12], skein,
aes), and 512 * sizeof(void*) = 4096: 128x more than we need and a waste
of most of a page in the kernel address space
Plus, there's no need to actually allocate it dynamically: it's always
got a static size. Put it in .data
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:23:33 -08:00
наб
464700ae02
module: icp: spi: crypto_ops_t: remove unused op types
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:23:28 -08:00
наб
f5896e2bdf
module: icp: spi: flatten struct crypto_ops, crypto_provider_info
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:23:24 -08:00
наб
959b9d6392
module: icp: spi: remove crypto_control_ops_t
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:23:19 -08:00
наб
9cdf015d0a
module: icp: spi: remove crypto_{provider,op}_notification()
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12901
2022-02-15 16:22:57 -08:00
Jorgen Lundman
9a70e97fe1
Rename fallthrough to zfs_fallthrough
...
Unfortunately macOS has obj-C keyword "fallthrough" in the OS headers.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Reviewed-by: Damian Szuberski <szuberskidamian@gmail.com >
Signed-off-by: Jorgen Lundman <lundman@lundman.net >
Closes #13097
2022-02-15 08:58:59 -08:00
Jorgen Lundman
c28d6ab08b
Rename EMPTY_TASKQ into taskq_empty
...
To follow a change in illumos taskq
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com >
Signed-off-by: Jorgen Lundman <lundman@lundman.net >
Closes #12802
2022-02-09 15:04:26 -07:00
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
наб
a3fecf4f10
icp: asm_linkage.h: clean out unused bits, CSTYLED
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12993
2022-01-26 11:38:28 -08:00
наб
18168da727
module/*.ko: prune .data, global .rodata
...
Evaluated every variable that lives in .data (and globals in .rodata)
in the kernel modules, and constified/eliminated/localised them
appropriately. This means that all read-only data is now actually
read-only data, and, if possible, at file scope. A lot of previously-
global-symbols became inlinable (and inlined!) constants. Probably
not in a big Wowee Performance Moment, but hey.
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12899
2022-01-14 15:37:55 -08:00
Tino Reichardt
a798b485ae
Remove sha1 hashing from OpenZFS, it's not used anywhere.
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Reviewed-by: Attila Fülöp <attila@fueloep.org >
Signed-off-by: Tino Reichardt <milky-zfs@mcmilk.de >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12895
Closes #12902
2022-01-06 16:16:28 -08:00