On 03.12.2019 12:50, Juergen Hannken-Illjes wrote:
> Module Name: src
> Committed By: hannken
> Date: Tue Dec 3 11:50:45 UTC 2019
>
> Modified Files:
> src/sys/arch/x86/x86: x86_machdep.c
>
> Log Message:
> Make sure the assignment to "idepth" is done inside the loop to prevent
> preemption between loop end and dereference of "l_cpu->ci_depth".
>
>
> To generate a diff of this commit:
> cvs rdiff -u -r1.131 -r1.132 src/sys/arch/x86/x86/x86_machdep.c
>
> Please note that diffs are not public domain; they are subject to the
> copyright notices on the relevant files.
>
>
> Modified files:
>
> Index: src/sys/arch/x86/x86/x86_machdep.c
> diff -u src/sys/arch/x86/x86/x86_machdep.c:1.131 src/sys/arch/x86/x86/x86_machdep.c:1.132
> --- src/sys/arch/x86/x86/x86_machdep.c:1.131 Tue Dec 3 11:50:16 2019
> +++ src/sys/arch/x86/x86/x86_machdep.c Tue Dec 3 11:50:45 2019
> @@ -1,4 +1,4 @@
> -/* $NetBSD: x86_machdep.c,v 1.131 2019/12/03 11:50:16 hannken Exp $ */
> +/* $NetBSD: x86_machdep.c,v 1.132 2019/12/03 11:50:45 hannken Exp $ */
>
> /*-
> * Copyright (c) 2002, 2006, 2007 YAMAMOTO Takashi,
> @@ -31,7 +31,7 @@
> */
>
> #include <sys/cdefs.h>
> -__KERNEL_RCSID(0, "$NetBSD: x86_machdep.c,v 1.131 2019/12/03 11:50:16 hannken Exp $");
> +__KERNEL_RCSID(0, "$NetBSD: x86_machdep.c,v 1.132 2019/12/03 11:50:45 hannken Exp $");
>
> #include "opt_modular.h"
> #include "opt_physmem.h"
> @@ -350,7 +350,7 @@ bool
> cpu_intr_p(void)
> {
> uint64_t ncsw;
> - int idepth;
> + volatile int idepth;
> lwp_t *l;
>
> l = curlwp;
>
Thanks!
This looks like to be in need to be propagated to:
src/sys/arch/arm/arm/arm_machdep.c, src/sys/arch/mips/mips/cpu_subr.c,
src/sys/arch/sparc/sparc/intr.c, src/sys/arch/sparc64/sparc64/machdep.c,
src/sys/arch/usermode/dev/cpu.c,
Attachment:
signature.asc
Description: OpenPGP digital signature