Print this page
OS-7125 Need mitigation of L1TF (CVE-2018-3646)
Reviewed by: Robert Mustacchi <rm@joyent.com>
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
*** 73,83 ****
--- 73,88 ----
#include <sys/schedctl.h>
#include <sys/waitq.h>
#include <sys/cpucaps.h>
#include <sys/kiconv.h>
#include <sys/ctype.h>
+ #include <sys/ht.h>
+ #ifndef STACK_GROWTH_DOWN
+ #error Stacks do not grow downward; 3b2 zombie attack detected!
+ #endif
+
struct kmem_cache *thread_cache; /* cache of free threads */
struct kmem_cache *lwp_cache; /* cache of free lwps */
struct kmem_cache *turnstile_cache; /* cache of free turnstiles */
/*
*** 514,525 ****
* is ready to run.
*/
if (CPU->cpu_part == &cp_default)
t->t_cpu = CPU;
else
! t->t_cpu = disp_lowpri_cpu(cp_default.cp_cpulist, t->t_lpl,
! t->t_pri, NULL);
t->t_disp_queue = t->t_cpu->cpu_disp;
kpreempt_enable();
/*
--- 519,530 ----
* is ready to run.
*/
if (CPU->cpu_part == &cp_default)
t->t_cpu = CPU;
else
! t->t_cpu = disp_lowpri_cpu(cp_default.cp_cpulist, t,
! t->t_pri);
t->t_disp_queue = t->t_cpu->cpu_disp;
kpreempt_enable();
/*
*** 1324,1333 ****
--- 1329,1340 ----
ASSERT(t->t_intr != NULL);
itp = t->t_intr; /* interrupted thread */
t->t_intr = NULL; /* clear interrupt ptr */
+ ht_end_intr();
+
/*
* Get state from interrupt thread for the one
* it interrupted.
*/