[Bug 238883] Fatal double fault using unionfs to build www/node port (repeatable)

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 29 Jun 2021 13:02:04 +0000

--- Comment #5 from commit-hook_at_FreeBSD.org ---
A commit in branch main references this bug:


commit 372691a7ae1878ecdf707195b0854750f07bf44e
Author:     Jason A. Harmening <jah_at_FreeBSD.org>
AuthorDate: 2021-06-12 19:45:18 +0000
Commit:     Jason A. Harmening <jah_at_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

    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(-)

You are receiving this mail because:
You are the assignee for the bug.
Received on Tue Jun 29 2021 - 13:02:04 UTC

Original text of this message