Make swap encryption truly optional, rather than just able to be
default-disabled
- New option VMSWAP_ENCRYPTION (enabled by default in conf/std along with
VMSWAP)
- Remove the "aes" attribute from VMSWAP and hand it to VMSWAP_ENCRYPTION.
- Conditionalize all code and data related to swap encryption on the
new VMSWAP_ENCRYPTION option.
While the swap encryption code itself is not that large, it drags in
the AES code if enabled. If a constrained platform doesn't care about
encrypted swap, this lets it not pay the cost for AES.
The "iic" instance does not depend on i2c_bitbang, so it should not
express it as a dependency. That's the responsibility of the back-ends
that do require it.
Don't bother with the "no disk label" message. It's not particularly
useful, and is downright confusing if the disk has some other sort of
partition scheme (such at GPT).
t_dlclose_thread: Make timeouts manifest more predictably.
And use SIGABRT to get stack traces.
PR lib/59751: dlclose is not MT-safe depending on the libraries
unloaded
SCSI-2 and later define READ(6) as optional and READ(10) as mandatory
and some devices (e.g. the Linux iSCSI tgtd) reject the small commands.
MODE_SENSE(6) and MODE_SENSE(10) can both be optional, so it's possible
that a SCSI-2 device only implements READ(10) and MODE_SENSE(6), which
then needs further refinement.
t_dlclose_thread: Test recursive dlopen/dlclose too.
Simple test first:
- h_helper_recurdso dlopens h_helper_dso2
- h_helper_dso2 needs h_helper_dso1
When dlopening h_helper_recurdso, the initialization order must be:
ENTER h_helper_recurdso
-> h_helper_dso1
-> h_helper_dso2
LEAVE h_helper_recurdso
For the more complex test, we have the relations:
- h_helper_recurdso2 needs h_helper_recurdso
- h_helper_recurdso dlopens h_helper_dso2
- h_helper_dso2 needs h_helper_dso1
[17 lines not shown]