mirror of
https://github.com/torvalds/linux.git
synced 2024-11-15 08:31:55 +00:00
b959ba9f46
When LIB80211_CRYPT_CCMP is enabled and CRYPTO is disabled, it results in unmet
direct dependencies config warning. The reason is that LIB80211_CRYPT_CCMP
selects CRYPTO_AES and CRYPTO_CCM, which are subordinate to CRYPTO. This is
reproducible with CRYPTO disabled and R8188EU enabled, where R8188EU selects
LIB80211_CRYPT_CCMP but does not select or depend on CRYPTO.
Honor the kconfig menu hierarchy to remove kconfig dependency warnings.
Fixes: a11e2f8548
("lib80211: use crypto API ccm(aes) transform for CCMP processing")
Signed-off-by: Necip Fazil Yildiran <fazilyildiran@gmail.com>
Link: https://lore.kernel.org/r/20200909095452.3080-1-fazilyildiran@gmail.com
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
237 lines
7.5 KiB
Plaintext
237 lines
7.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config WIRELESS_EXT
|
|
bool
|
|
|
|
config WEXT_CORE
|
|
def_bool y
|
|
depends on CFG80211_WEXT || WIRELESS_EXT
|
|
|
|
config WEXT_PROC
|
|
def_bool y
|
|
depends on PROC_FS
|
|
depends on WEXT_CORE
|
|
|
|
config WEXT_SPY
|
|
bool
|
|
|
|
config WEXT_PRIV
|
|
bool
|
|
|
|
config CFG80211
|
|
tristate "cfg80211 - wireless configuration API"
|
|
depends on RFKILL || !RFKILL
|
|
select FW_LOADER
|
|
# may need to update this when certificates are changed and are
|
|
# using a different algorithm, though right now they shouldn't
|
|
# (this is here rather than below to allow it to be a module)
|
|
select CRYPTO_SHA256 if CFG80211_USE_KERNEL_REGDB_KEYS
|
|
help
|
|
cfg80211 is the Linux wireless LAN (802.11) configuration API.
|
|
Enable this if you have a wireless device.
|
|
|
|
For more information refer to documentation on the wireless wiki:
|
|
|
|
https://wireless.wiki.kernel.org/en/developers/Documentation/cfg80211
|
|
|
|
When built as a module it will be called cfg80211.
|
|
|
|
if CFG80211
|
|
|
|
config NL80211_TESTMODE
|
|
bool "nl80211 testmode command"
|
|
help
|
|
The nl80211 testmode command helps implementing things like
|
|
factory calibration or validation tools for wireless chips.
|
|
|
|
Select this option ONLY for kernels that are specifically
|
|
built for such purposes.
|
|
|
|
Debugging tools that are supposed to end up in the hands of
|
|
users should better be implemented with debugfs.
|
|
|
|
Say N.
|
|
|
|
config CFG80211_DEVELOPER_WARNINGS
|
|
bool "enable developer warnings"
|
|
default n
|
|
help
|
|
This option enables some additional warnings that help
|
|
cfg80211 developers and driver developers, but beware that
|
|
they can also trigger due to races with userspace.
|
|
|
|
For example, when a driver reports that it was disconnected
|
|
from the AP, but the user disconnects manually at the same
|
|
time, the warning might trigger spuriously due to races.
|
|
|
|
Say Y only if you are developing cfg80211 or a driver based
|
|
on it (or mac80211).
|
|
|
|
|
|
config CFG80211_CERTIFICATION_ONUS
|
|
bool "cfg80211 certification onus"
|
|
depends on EXPERT
|
|
default n
|
|
help
|
|
You should disable this option unless you are both capable
|
|
and willing to ensure your system will remain regulatory
|
|
compliant with the features available under this option.
|
|
Some options may still be under heavy development and
|
|
for whatever reason regulatory compliance has not or
|
|
cannot yet be verified. Regulatory verification may at
|
|
times only be possible until you have the final system
|
|
in place.
|
|
|
|
This option should only be enabled by system integrators
|
|
or distributions that have done work necessary to ensure
|
|
regulatory certification on the system with the enabled
|
|
features. Alternatively you can enable this option if
|
|
you are a wireless researcher and are working in a controlled
|
|
and approved environment by your local regulatory agency.
|
|
|
|
config CFG80211_REQUIRE_SIGNED_REGDB
|
|
bool "require regdb signature" if CFG80211_CERTIFICATION_ONUS
|
|
default y
|
|
select SYSTEM_DATA_VERIFICATION
|
|
help
|
|
Require that in addition to the "regulatory.db" file a
|
|
"regulatory.db.p7s" can be loaded with a valid PKCS#7
|
|
signature for the regulatory.db file made by one of the
|
|
keys in the certs/ directory.
|
|
|
|
config CFG80211_USE_KERNEL_REGDB_KEYS
|
|
bool "allow regdb keys shipped with the kernel" if CFG80211_CERTIFICATION_ONUS
|
|
default y
|
|
depends on CFG80211_REQUIRE_SIGNED_REGDB
|
|
help
|
|
Allow the regulatory database to be signed by one of the keys for
|
|
which certificates are part of the kernel sources
|
|
(in net/wireless/certs/).
|
|
|
|
This is currently only Seth Forshee's key, who is the regulatory
|
|
database maintainer.
|
|
|
|
config CFG80211_EXTRA_REGDB_KEYDIR
|
|
string "additional regdb key directory" if CFG80211_CERTIFICATION_ONUS
|
|
depends on CFG80211_REQUIRE_SIGNED_REGDB
|
|
help
|
|
If selected, point to a directory with DER-encoded X.509
|
|
certificates like in the kernel sources (net/wireless/certs/)
|
|
that shall be accepted for a signed regulatory database.
|
|
|
|
Note that you need to also select the correct CRYPTO_<hash> modules
|
|
for your certificates, and if cfg80211 is built-in they also must be.
|
|
|
|
config CFG80211_REG_CELLULAR_HINTS
|
|
bool "cfg80211 regulatory support for cellular base station hints"
|
|
depends on CFG80211_CERTIFICATION_ONUS
|
|
help
|
|
This option enables support for parsing regulatory hints
|
|
from cellular base stations. If enabled and at least one driver
|
|
claims support for parsing cellular base station hints the
|
|
regulatory core will allow and parse these regulatory hints.
|
|
The regulatory core will only apply these regulatory hints on
|
|
drivers that support this feature. You should only enable this
|
|
feature if you have tested and validated this feature on your
|
|
systems.
|
|
|
|
config CFG80211_REG_RELAX_NO_IR
|
|
bool "cfg80211 support for NO_IR relaxation"
|
|
depends on CFG80211_CERTIFICATION_ONUS
|
|
help
|
|
This option enables support for relaxation of the NO_IR flag for
|
|
situations that certain regulatory bodies have provided clarifications
|
|
on how relaxation can occur. This feature has an inherent dependency on
|
|
userspace features which must have been properly tested and as such is
|
|
not enabled by default.
|
|
|
|
A relaxation feature example is allowing the operation of a P2P group
|
|
owner (GO) on channels marked with NO_IR if there is an additional BSS
|
|
interface which associated to an AP which userspace assumes or confirms
|
|
to be an authorized master, i.e., with radar detection support and DFS
|
|
capabilities. However, note that in order to not create daisy chain
|
|
scenarios, this relaxation is not allowed in cases where the BSS client
|
|
is associated to P2P GO and in addition the P2P GO instantiated on
|
|
a channel due to this relaxation should not allow connection from
|
|
non P2P clients.
|
|
|
|
The regulatory core will apply these relaxations only for drivers that
|
|
support this feature by declaring the appropriate channel flags and
|
|
capabilities in their registration flow.
|
|
|
|
config CFG80211_DEFAULT_PS
|
|
bool "enable powersave by default"
|
|
default y
|
|
help
|
|
This option enables powersave mode by default.
|
|
|
|
If this causes your applications to misbehave you should fix your
|
|
applications instead -- they need to register their network
|
|
latency requirement, see Documentation/power/pm_qos_interface.rst.
|
|
|
|
config CFG80211_DEBUGFS
|
|
bool "cfg80211 DebugFS entries"
|
|
depends on DEBUG_FS
|
|
help
|
|
You can enable this if you want debugfs entries for cfg80211.
|
|
|
|
If unsure, say N.
|
|
|
|
config CFG80211_CRDA_SUPPORT
|
|
bool "support CRDA" if EXPERT
|
|
default y
|
|
help
|
|
You should enable this option unless you know for sure you have no
|
|
need for it, for example when using the regulatory database loaded as
|
|
a firmware file.
|
|
|
|
If unsure, say Y.
|
|
|
|
config CFG80211_WEXT
|
|
bool "cfg80211 wireless extensions compatibility" if !CFG80211_WEXT_EXPORT
|
|
select WEXT_CORE
|
|
default y if CFG80211_WEXT_EXPORT
|
|
help
|
|
Enable this option if you need old userspace for wireless
|
|
extensions with cfg80211-based drivers.
|
|
|
|
config CFG80211_WEXT_EXPORT
|
|
bool
|
|
help
|
|
Drivers should select this option if they require cfg80211's
|
|
wext compatibility symbols to be exported.
|
|
|
|
endif # CFG80211
|
|
|
|
config LIB80211
|
|
tristate
|
|
default n
|
|
help
|
|
This options enables a library of common routines used
|
|
by IEEE802.11 wireless LAN drivers.
|
|
|
|
Drivers should select this themselves if needed.
|
|
|
|
config LIB80211_CRYPT_WEP
|
|
tristate
|
|
select CRYPTO_LIB_ARC4
|
|
|
|
config LIB80211_CRYPT_CCMP
|
|
tristate
|
|
select CRYPTO
|
|
select CRYPTO_AES
|
|
select CRYPTO_CCM
|
|
|
|
config LIB80211_CRYPT_TKIP
|
|
tristate
|
|
select CRYPTO_LIB_ARC4
|
|
|
|
config LIB80211_DEBUG
|
|
bool "lib80211 debugging messages"
|
|
depends on LIB80211
|
|
default n
|
|
help
|
|
You can enable this if you want verbose debugging messages
|
|
from lib80211.
|
|
|
|
If unsure, say N.
|