git: 811e27fa3c44 - main - jail: Add PD_KILL to remove a prison in prison_deref().
James Gritton
jamie at freebsd.org
Thu Feb 25 05:53:34 UTC 2021
On 2021-02-24 21:29, Kyle Evans wrote:
> On Tue, Feb 23, 2021 at 7:16 AM Alexander Richardson
> <arichardson at freebsd.org> wrote:
>>
>> On Mon, 22 Feb 2021 at 20:28, Jamie Gritton <jamie at freebsd.org> wrote:
>> >
>> > The branch main has been updated by jamie:
>> >
>> > URL: https://cgit.FreeBSD.org/src/commit/?id=811e27fa3c445664e36071a7d08228fc7fb85676
>> >
>> > commit 811e27fa3c445664e36071a7d08228fc7fb85676
>> > Author: Jamie Gritton <jamie at FreeBSD.org>
>> > AuthorDate: 2021-02-22 20:27:44 +0000
>> > Commit: Jamie Gritton <jamie at FreeBSD.org>
>> > CommitDate: 2021-02-22 20:27:44 +0000
>> >
>> > jail: Add PD_KILL to remove a prison in prison_deref().
>> >
>> > Add the PD_KILL flag that instructs prison_deref() to take steps
>> > to actively kill a prison and its descendents, namely marking it
>> > PRISON_STATE_DYING, clearing its PR_PERSIST flag, and killing any
>> > attached processes.
>> >
>> > This replaces a similar loop in sys_jail_remove(), bringing the
>> > operation under the same single hold on allprison_lock that it already
>> > has. It is also used to clean up failed jail (re-)creations in
>> > kern_jail_set(), which didn't generally take all the proper steps.
>> >
>> > Differential Revision: https://reviews.freebsd.org/D28473
>>
>> Hi Jamie,
>>
>> After this commit running cd /usr/tests/lib/libc/sys && kyua test
>> cpuset_test renders the entire system unusable: all exec calls
>> afterwards seem to fail. In Jenkins it's triggering a kernel panic:
>> https://ci.freebsd.org/job/FreeBSD-main-amd64-test/17630/consoleFull
>> Reverting this commit fixes the issue.
>>
>
> Based on the backtrace and a wild stab in the dark, the last
> prison_deref() in do_jail_attach() prior to successful return should
> explicitly clear the PD_KILL flag from drflags.
>
> Thanks,
>
> Kyle Evans
Yep, that's what's doing it. Actually, PD_KILL has no business being
passed to do_jail_attach in the first place. Running a test on that
right now.
- Jamie
More information about the dev-commits-src-main
mailing list