svn commit: r349913 - head/sys/x86/x86
Konstantin Belousov
kib at FreeBSD.org
Thu Jul 11 16:22:51 UTC 2019
Author: kib
Date: Thu Jul 11 16:22:49 2019
New Revision: 349913
URL: https://svnweb.freebsd.org/changeset/base/349913
Log:
Ensure that mds_handler always points to a valid method.
Depending on system configuration, version, and architecture,
mds_handler might be dereferenced from doreti before
hw_mds_recalculate_boot() initialized it. Statically assign void
method to cover all cases.
Reported by: "Schuendehuette, Matthias (LDA IT PLM)" <matthias.schuendehuette at siemens.com>
Sponsored by: The FreeBSD Foundation
MFC after: 3 days
Modified:
head/sys/x86/x86/cpu_machdep.c
Modified: head/sys/x86/x86/cpu_machdep.c
==============================================================================
--- head/sys/x86/x86/cpu_machdep.c Thu Jul 11 16:19:33 2019 (r349912)
+++ head/sys/x86/x86/cpu_machdep.c Thu Jul 11 16:22:49 2019 (r349913)
@@ -939,7 +939,6 @@ int hw_mds_disable;
* architectural state except possibly %rflags. Also, it is always
* called with interrupts disabled.
*/
-void (*mds_handler)(void);
void mds_handler_void(void);
void mds_handler_verw(void);
void mds_handler_ivb(void);
@@ -948,6 +947,7 @@ void mds_handler_skl_sse(void);
void mds_handler_skl_avx(void);
void mds_handler_skl_avx512(void);
void mds_handler_silvermont(void);
+void (*mds_handler)(void) = mds_handler_void;
static int
sysctl_hw_mds_disable_state_handler(SYSCTL_HANDLER_ARGS)
More information about the svn-src-all
mailing list