наб
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
наб
3e310f099d
module: icp: remove solaris crypto and cryptoadm ioctl definitions
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Reviewed-by: Attila Fülöp <attila@fueloep.org >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12895
Closes #12902
2022-01-06 16:16:19 -08:00
наб
5c8389a8cb
module: icp: rip out the Solaris loadable module architecture
...
After progressively folding away null cases, it turns out there's
/literally/ nothing there, even if some things are part of the
Solaris SPARC DDI/DKI or the seventeen module types (some doubled for
32-bit userland), or the entire modctl syscall definition.
Nothing.
Initialisation is handled in illumos-crypto.c,
which calls all the initialisers directly
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Reviewed-by: Attila Fülöp <attila@fueloep.org >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12895
Closes #12902
2022-01-06 16:14:04 -08:00
наб
18e4f67960
module: icp: fix unused, remove argsused
...
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Closes #12844
2021-12-23 09:42:47 -08:00
Brian Behlendorf
6954c22f35
Use fallthrough macro
...
As of the Linux 5.9 kernel a fallthrough macro has been added which
should be used to anotate all intentional fallthrough paths. Once
all of the kernel code paths have been updated to use fallthrough
the -Wimplicit-fallthrough option will because the default. To
avoid warnings in the OpenZFS code base when this happens apply
the fallthrough macro.
Additional reading: https://lwn.net/Articles/794944/
Reviewed-by: Tony Nguyen <tony.nguyen@delphix.com >
Reviewed-by: George Melikov <mail@gmelikov.ru >
Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov >
Closes #12441
2021-09-14 10:17:54 -06:00
наб
037af3e0d4
Remove NOTE(CONSTCOND) and note.h
...
These were mostly used to annotate do {} while(0)s
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov >
Signed-off-by: Ahelenia Ziemiańska <nabijaczleweli@nabijaczleweli.xyz >
Issue #12201
2021-07-26 12:07:53 -07:00