On 4/5/23 21:44, Hans Petter Selasky wrote:
On 4/5/23 20:23, Gleb Smirnoff wrote:
What if we remove the CTLFLAG_VNET check from the code you posted above?
I don't see anything going wrong, rather going right 😄

CTLFLAG_VNET will not mask away CTLFLAG_TUN.

Hi Gleb,

It's possible to bypass that check, but some work needs to be done first. Then all jails created, will also start from those sysctl tunable values.

The problem is, where does the VNET base pointer come from?

Especially those static sysctl's. You would need to make some design there I guess and look at the SYSINIT() order. When are SYSINIT's filled with tunable data's. And when is the default VNET created.

Because the data pointer passed to the register sysctl function is simply an offset pointer into a malloc'ed structure.

--HPS


Hi Zhenlei,

Feel free to work on this, and add me as a reviewer and complete phase two of:

commit 3da1cf1e88f8448bb10c5f778ab56ff65c7a6938
Author: Hans Petter Selasky <hsela...@freebsd.org>
Date:   Fri Jun 27 16:33:43 2014 +0000

    Extend the meaning of the CTLFLAG_TUN flag to automatically check if
    there is an environment variable which shall initialize the SYSCTL
    during early boot. This works for all SYSCTL types both statically and
    dynamically created ones, except for the SYSCTL NODE type and SYSCTLs
    which belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added to

--HPS

Reply via email to