Fixes for stackleak
- Remove tracing for inserted stack depth marking function (Anders Roxell) - Move gcc-plugin pass location to avoid objtool warnings (Alexander Popov) -----BEGIN PGP SIGNATURE----- Comment: Kees Cook <kees@outflux.net> iQJKBAABCgA0FiEEpcP2jyKd1g9yPm4TiXL039xtwCYFAlwKp1IWHGtlZXNjb29r QGNocm9taXVtLm9yZwAKCRCJcvTf3G3AJuT9D/9DP75YerfMFxiVx8BsFnGVfPW3 QWa/nf2c8VMhmouQ9OI8j8Nj+T4q5VXewbGC5I0F6b2YsIPjHOwK0PR557xn7jRi 7bY3aTRzJs4v+dDYkXqTkGx4zQ9FSD3NDM0T4vtnVGEdOmojcvoLX6+V7WArOTaa M9oP4iNn5/+Z677HyMP3DyTY093WpCx0fNOAf1HI/kpM3TPVJiE5OLXBZY957N01 eBrt0WHJkmaZkHeqUkK06RTxYzIKBQqFRw77pPiKq79ETxBEwHOgU2hmwwHBv4+h u6TQmy7aVsUiXfS1GVvkNkX/jCNxYuK8kP5dsd+cQKn3AfkDHj3RvBTOvrkD0xyF 7F9Toz/Wpw8+/YVx8ks6cNrssmEq4rd6T7MJcoud1TwEG1o/bSUbPc4uednuIUGL sB4J6sxApL2vaZtgqUePVZZJVKwiryFa8LymihkHMfPU4dgCycrYLGa3A1ju9WVs psGYhFTEfC1KVLgTmfwZlxz/FWbRmSERRF7cl9cdw8mdlqkKxP1C//VgsdJXOnnW c51BS+XK9OI8HTYXmWah82ysuCE7qou4DUJA91jhyza5tEp2V5C0uhOQz2odFcBF 8axjqExFr4YfAwIgtGOClPA0e5CaB4ASRbOIs8+WL03LiNbfP/p6+92TpnwaP637 Q5CbAMIfKqNpqAcAJg== =1JZ6 -----END PGP SIGNATURE----- Merge tag 'gcc-plugins-v4.20-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux Pull gcc stackleak plugin fixes from Kees Cook: - Remove tracing for inserted stack depth marking function (Anders Roxell) - Move gcc-plugin pass location to avoid objtool warnings (Alexander Popov) * tag 'gcc-plugins-v4.20-rc6' of git://git.kernel.org/pub/scm/linux/kernel/git/kees/linux: stackleak: Register the 'stackleak_cleanup' pass before the '*free_cfg' pass stackleak: Mark stackleak_track_stack() as notrace
This commit is contained in:
commit
1cdc3624a1
|
@ -104,7 +104,7 @@ asmlinkage void notrace stackleak_erase(void)
|
||||||
}
|
}
|
||||||
NOKPROBE_SYMBOL(stackleak_erase);
|
NOKPROBE_SYMBOL(stackleak_erase);
|
||||||
|
|
||||||
void __used stackleak_track_stack(void)
|
void __used notrace stackleak_track_stack(void)
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
* N.B. stackleak_erase() fills the kernel stack with the poison value,
|
* N.B. stackleak_erase() fills the kernel stack with the poison value,
|
||||||
|
|
|
@ -363,10 +363,12 @@ __visible int plugin_init(struct plugin_name_args *plugin_info,
|
||||||
PASS_POS_INSERT_BEFORE);
|
PASS_POS_INSERT_BEFORE);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The stackleak_cleanup pass should be executed after the
|
* The stackleak_cleanup pass should be executed before the "*free_cfg"
|
||||||
* "reload" pass, when the stack frame size is final.
|
* pass. It's the moment when the stack frame size is already final,
|
||||||
|
* function prologues and epilogues are generated, and the
|
||||||
|
* machine-dependent code transformations are not done.
|
||||||
*/
|
*/
|
||||||
PASS_INFO(stackleak_cleanup, "reload", 1, PASS_POS_INSERT_AFTER);
|
PASS_INFO(stackleak_cleanup, "*free_cfg", 1, PASS_POS_INSERT_BEFORE);
|
||||||
|
|
||||||
if (!plugin_default_version_check(version, &gcc_version)) {
|
if (!plugin_default_version_check(version, &gcc_version)) {
|
||||||
error(G_("incompatible gcc/plugin versions"));
|
error(G_("incompatible gcc/plugin versions"));
|
||||||
|
|
Loading…
Reference in New Issue