|
@@ -152,6 +152,20 @@ config HARDENED_USERCOPY
|
|
or are part of the kernel text. This kills entire classes
|
|
or are part of the kernel text. This kills entire classes
|
|
of heap overflow exploits and similar kernel memory exposures.
|
|
of heap overflow exploits and similar kernel memory exposures.
|
|
|
|
|
|
|
|
+config HARDENED_USERCOPY_FALLBACK
|
|
|
|
+ bool "Allow usercopy whitelist violations to fallback to object size"
|
|
|
|
+ depends on HARDENED_USERCOPY
|
|
|
|
+ default y
|
|
|
|
+ help
|
|
|
|
+ This is a temporary option that allows missing usercopy whitelists
|
|
|
|
+ to be discovered via a WARN() to the kernel log, instead of
|
|
|
|
+ rejecting the copy, falling back to non-whitelisted hardened
|
|
|
|
+ usercopy that checks the slab allocation size instead of the
|
|
|
|
+ whitelist size. This option will be removed once it seems like
|
|
|
|
+ all missing usercopy whitelists have been identified and fixed.
|
|
|
|
+ Booting with "slab_common.usercopy_fallback=Y/N" can change
|
|
|
|
+ this setting.
|
|
|
|
+
|
|
config HARDENED_USERCOPY_PAGESPAN
|
|
config HARDENED_USERCOPY_PAGESPAN
|
|
bool "Refuse to copy allocations that span multiple pages"
|
|
bool "Refuse to copy allocations that span multiple pages"
|
|
depends on HARDENED_USERCOPY
|
|
depends on HARDENED_USERCOPY
|