[Bug 286179] Passing a vlan interface to a vnet jail result in a stuck dying state

[email protected]
Newsgroups gmane.os.freebsd.devel.net
Message-ID <[email protected]/bugzilla/>
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=286179

--- Comment #7 from Zhenlei Huang <[email protected]> ---
(In reply to florian.millet from comment #6)
From my test, it appears that the vlan interface is innocent.

My steps,

The jail.conf
```
vl2 {
    exec.start = "/bin/sh /etc/rc";
    exec.stop = "/bin/sh /etc/rc.shutdown jail";
    exec.clean;
    host.hostname = "${name}";
    securelevel = "2";
    allow.mlock = "1";
    allow.mount = "1";
    allow.mount.fdescfs = "1";
    allow.mount.zfs = "1";
    allow.nfsd = "1";
    allow.raw_sockets = "1";
    allow.reserved_ports = "1";
    devfs_ruleset = "5";
    enforce_statfs = "1";
    mount.devfs;
    mount.fdescfs;
    mount.procfs;
    zfs.mount_snapshot = "1";
    vnet;
    vnet.interface += "vlan124";
    exec.consolelog = "/appjail/jails/vl2/console.log";
    exec.created += "zfs jail ${name} zroot/jails-data/${name}";
    exec.prestop += "zfs unjail ${name} zroot/jails-data/${name}";
    exec.prestart += "ifconfig vlan124 create vlan 124 vlandev lagg0";
    exec.prestart += "ifconfig vlan124 description \"VNET vlan interface for
jail ${name}\"";
#    exec.created += "appjail limits on ${name}";
#    exec.poststop += "appjail limits off ${name}";
    mount.fstab = "/appjail/jails/vl2/conf/fstab";
    path = "/appjail/jails/vl2/jail";
}
```

```
# jail -f jail.conf -c vl2
vl2: created
# jail -f jail.conf -r vl2 && sleep 1 && ifconfig vlan124 destroy
vl2: removed
```

If I mount the zfs dataset in the jail, then the jail will get stuck in dying
state, until the dataset is umounted.

```
# jail -f jail.conf -c vl2
vl2: created
# jexec vl2 cat /etc/fstab
zroot/jails-data/vl2    /mnt    zfs     rw      0       0
# jexec vl2 mount -a
# jexec vl2 mount
zroot/appjail on / (zfs, local, noatime, nfsv4acls)
devfs on /dev (devfs)
fdescfs on /dev/fd (fdescfs)
procfs on /proc (procfs, local)
zroot/jails-data/vl2 on /mnt (zfs, local, noatime, nfsv4acls)

# jail -f jail.conf -r vl2
vl2: removed
# jls -j vl2
   JID  IP Address      Hostname                      Path
jls: jail "vl2" (10) is dying

# umount /appjail/jails/vl2/jail/mnt
# jls -j vl2
   JID  IP Address      Hostname                      Path
jls: jail "vl2" not found
```

The zfs mount in jail appears to hold extra reference of the jail, and umount
will release the reference.

To confirm, do you have any zfs mounts in the jail vl2 ?

-- 
You are receiving this mail because:
You are on the CC list for the bug.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.