systems with hyperthreading enabled, but should reduce power by
enabling more sockets and cores to go into deeper sleep states.
+### scrub-domheap
+> `= <boolean>`
+
+> Default: `false`
+
+Scrub domains' freed pages. This is a safety net against a (buggy) domain
+accidentally leaking secrets by releasing pages without proper sanitization.
+
### serial_tx_buffer
> `= <size>`
static unsigned long __initdata opt_bootscrub_chunk = MB(128);
size_param("bootscrub_chunk", opt_bootscrub_chunk);
+ /* scrub-domheap -> Domheap pages are scrubbed when freed */
+static bool __read_mostly opt_scrub_domheap;
+boolean_param("scrub-domheap", opt_scrub_domheap);
+
#ifdef CONFIG_SCRUB_DEBUG
static bool __read_mostly scrub_debug;
#else
/*
* Normally we expect a domain to clear pages before freeing them,
* if it cares about the secrecy of their contents. However, after
- * a domain has died we assume responsibility for erasure.
+ * a domain has died we assume responsibility for erasure. We do
+ * scrub regardless if option scrub_domheap is set.
*/
- scrub = d->is_dying || scrub_debug;
+ scrub = d->is_dying || scrub_debug || opt_scrub_domheap;
}
else
{