Date: Tue, 29 Jun 2021 13:02:04 +0000 From: bugzilla-noreply@freebsd.org To: bugs@FreeBSD.org Subject: [Bug 238883] Fatal double fault using unionfs to build www/node port (repeatable) Message-ID: <bug-238883-227-cNTlwbow4a@https.bugs.freebsd.org/bugzilla/> In-Reply-To: <bug-238883-227@https.bugs.freebsd.org/bugzilla/> References: <bug-238883-227@https.bugs.freebsd.org/bugzilla/>
next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D238883 --- Comment #5 from commit-hook@FreeBSD.org --- A commit in branch main references this bug: URL: https://cgit.FreeBSD.org/src/commit/?id=3D372691a7ae1878ecdf707195b0854750f= 07bf44e commit 372691a7ae1878ecdf707195b0854750f07bf44e Author: Jason A. Harmening <jah@FreeBSD.org> AuthorDate: 2021-06-12 19:45:18 +0000 Commit: Jason A. Harmening <jah@FreeBSD.org> CommitDate: 2021-06-29 13:02:01 +0000 unionfs: release parent vnodes in deferred context Each unionfs node holds a reference to its parent directory vnode. A single open file reference can therefore end up keeping an arbitrarily deep vnode hierarchy in place. When that reference is released, the resulting VOP_RECLAIM call chain can then exhaust the kernel stack. This is easily reproducible by running the unionfs.sh stress2 test. Fix it by deferring recursive unionfs vnode release to taskqueue context. PR: 238883 Reviewed By: kib (earlier version), markj Differential Revision: https://reviews.freebsd.org/D30748 sys/fs/unionfs/union.h | 6 ++++- sys/fs/unionfs/union_subr.c | 55 ++++++++++++++++++++++++++++++++++++++++-= ---- 2 files changed, 55 insertions(+), 6 deletions(-) --=20 You are receiving this mail because: You are the assignee for the bug.=
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-238883-227-cNTlwbow4a>