Re: [PATCH v11 16/29] x86/fpu/xstate: Support both legacy and expanded signal XSTATE size

From: Thomas Gleixner
Date: Tue Oct 05 2021 - 11:19:10 EST


On Fri, Oct 01 2021 at 15:37, Chang S. Bae wrote:
> @@ -1252,6 +1267,13 @@ long do_arch_prctl_state(struct task_struct *tsk, int option, unsigned long arg2
> if (!state_perm)
> return 0;
>
> + /*
> + * Disallow when sigaltstack is not enough for the
> + * AT_MINSIGSTKSZ value.
> + */
> + if (tsk->sas_ss_size > 0 && tsk->sas_ss_size < get_sigframe_size())
> + return -EPERM;

This is not enough:

T1
sigaltstack(minsize)
...
T2
libinit()
prctl(....) --> success
enable_amx()

libfunc()
if (amx_enabled())
AMXINSN
-->#NM --> success

handle_signal()
die(because altstack too small);

Thanks,

tglx