summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authormpi <mpi@openbsd.org>2021-03-23 10:22:20 +0000
committermpi <mpi@openbsd.org>2021-03-23 10:22:20 +0000
commitcb55d4750a53b14e91e62240a8a2cb53357ffd2f (patch)
treee8d91edb51f5175c94019bdb7d488dd36c029552
parentPack the SPCR struct definition since the struct isn't naturally aligned (diff)
downloadwireguard-openbsd-cb55d4750a53b14e91e62240a8a2cb53357ffd2f.tar.xz
wireguard-openbsd-cb55d4750a53b14e91e62240a8a2cb53357ffd2f.zip
Skip first frame when saving stacktraces, it's always witness_checkorder().
ok visa@
-rw-r--r--sys/kern/subr_witness.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/subr_witness.c b/sys/kern/subr_witness.c
index e23db1c4907..ad50f29e066 100644
--- a/sys/kern/subr_witness.c
+++ b/sys/kern/subr_witness.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: subr_witness.c,v 1.46 2021/03/10 10:21:47 jsg Exp $ */
+/* $OpenBSD: subr_witness.c,v 1.47 2021/03/23 10:22:20 mpi Exp $ */
/*-
* Copyright (c) 2008 Isilon Systems, Inc.
@@ -764,7 +764,7 @@ witness_checkorder(struct lock_object *lock, int flags,
if (witness_cold || witness_watch < 1 || panicstr != NULL || db_active)
return;
-
+
if ((lock->lo_flags & LO_INITIALIZED) == 0) {
if (witness_uninitialized_report > 0) {
witness_uninitialized_report--;
@@ -2472,7 +2472,7 @@ witness_lock_order_add(struct witness *parent, struct witness *child)
data->wlod_key = key;
w_lohash.wloh_array[hash] = data;
w_lohash.wloh_count++;
- stacktrace_save(&data->wlod_stack);
+ stacktrace_save_at(&data->wlod_stack, 1);
return (1);
}