Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 3 Mar 2023 14:28:04 GMT
From:      Mark Johnston <markj@FreeBSD.org>
To:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org
Subject:   git: a102020bf393 - stable/13 - buf: Make bufspace_daemon_shutdown() a no-op after a panic
Message-ID:  <202303031428.323ES4in019957@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch stable/13 has been updated by markj:

URL: https://cgit.FreeBSD.org/src/commit/?id=a102020bf39374210de95e54b83886ecedd8b166

commit a102020bf39374210de95e54b83886ecedd8b166
Author:     Mark Johnston <markj@FreeBSD.org>
AuthorDate: 2023-02-24 02:56:36 +0000
Commit:     Mark Johnston <markj@FreeBSD.org>
CommitDate: 2023-03-03 14:27:50 +0000

    buf: Make bufspace_daemon_shutdown() a no-op after a panic
    
    This function doesn't need to do anything in that context, and calling
    wakeup() can lead to recursive panics.
    
    Discussed with: mhorne
    MFC after:      1 week
    
    (cherry picked from commit 9d7cc536e261a7d207476115dac6058c38f469bd)
---
 sys/kern/vfs_bio.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/sys/kern/vfs_bio.c b/sys/kern/vfs_bio.c
index 6a479ed335ef..98047f161077 100644
--- a/sys/kern/vfs_bio.c
+++ b/sys/kern/vfs_bio.c
@@ -764,6 +764,9 @@ bufspace_daemon_shutdown(void *arg, int howto __unused)
 	struct bufdomain *bd = arg;
 	int error;
 
+	if (KERNEL_PANICKED())
+		return;
+
 	BD_RUN_LOCK(bd);
 	bd->bd_shutdown = true;
 	wakeup(&bd->bd_running);



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202303031428.323ES4in019957>