freebsd-skq/sys
Konstantin Belousov 5fc9e11c42 Save lower root vnode in nullfs mnt data instead of upper.
Nullfs needs to know the root vnode of the lower fs during the
operation.  Currently it caches the upper vnode of it, which is also
the root of the nullfs mount.  On unmount, nullfs calls vflush() with
rootrefs == 1, and aborts non-forced unmount if there are any more
vnodes instantiated during vflush().  This means that the reference to
the root vnode after failed non-forced unmount could be lost and
nullm_rootvp points to the freed memory.

Fix it by storing the reference for lower vnode instead, which is kept
intact during vflush().  nullfs_root() now instantiates the upper
vnode of lower root.  Care about VV_ROOT flag in null_nodeget().

Reported and tested by:	pho
Sponsored by:	The FreeBSD Foundation
MFC after:	1 week
2020-01-28 11:29:06 +00:00
..
amd64 Regen. 2020-01-21 17:28:36 +00:00
arm Create a convenince wrapper to fill in a CAM_PATH_INQ request for MMC sims. Pass 2020-01-27 22:19:55 +00:00
arm64 Print missing ID_AA64PFR{0,1}_EL1 register fields. 2020-01-23 16:10:38 +00:00
bsm Jail and capability mode for shm_rename; add audit support for shm_rename 2019-11-18 13:31:16 +00:00
cam Create a convenince wrapper to fill in a CAM_PATH_INQ request for MMC sims. Pass 2020-01-27 22:19:55 +00:00
cddl Map ECKSUM and EFRAGS from ZFS onto real errnos. 2020-01-13 22:06:16 +00:00
compat Provide support for fdevname(3) on linuxkpi-backed devices. 2020-01-28 11:22:20 +00:00
conf Compile hack.c with normal CFLAGS + -shared -nostdlib. 2020-01-26 14:19:08 +00:00
contrib MFV: r356607 2020-01-10 22:49:14 +00:00
crypto Fix the armv8 crypto driver after r354170. 2019-10-30 10:41:10 +00:00
ddb Add KERNEL_PANICKED macro for use in place of direct panicstr tests 2020-01-12 06:07:54 +00:00
dev amdtemp(4): Remove dead code that snuck in with r357190 2020-01-28 03:27:06 +00:00
dts zilinx/zy7_qspi: Add a qspi driver for Zynq platforms. 2020-01-19 20:04:44 +00:00
fs Save lower root vnode in nullfs mnt data instead of upper. 2020-01-28 11:29:06 +00:00
gdb Add KERNEL_PANICKED macro for use in place of direct panicstr tests 2020-01-12 06:07:54 +00:00
geom Fix aggregating geoms for BIO_SPEEDUP. 2020-01-27 13:15:16 +00:00
gnu Import DTS files for riscv from Linux 5.4 2019-12-03 09:12:53 +00:00
i386 Fix 64-bit syscall argument fetching in 32-bit Linux syscall handlers. 2020-01-21 17:28:22 +00:00
isa sc(4) md bits: stop setting sc->kbd entirely 2019-12-30 02:07:55 +00:00
kern Make mqueue objects work across a fork again. 2020-01-27 22:36:54 +00:00
kgssapi
libkern random(9): Deprecate random(9), remove meaningless srandom(9) 2019-12-26 19:41:09 +00:00
mips Introduce flag IFF_NEEDSEPOCH that marks Ethernet interfaces that 2020-01-23 01:41:09 +00:00
modules vmxnet3: add support for RSS kernel option 2020-01-23 11:05:03 +00:00
net Since now drivers that support pfil run their interrupts in the network 2020-01-23 01:49:22 +00:00
net80211 net80211: Move rate printing in amrr_node_stats() to a separate method 2020-01-17 22:04:11 +00:00
netgraph ng_nat: Pass IPv6 packets through. 2020-01-23 16:45:48 +00:00
netinet Fix build issues for the userland stack on 32-bit platforms. 2020-01-28 10:09:05 +00:00
netinet6 Enter network epoch when calling in_pcbconnect() for IPv6 mapped to IPv4 2020-01-22 17:06:55 +00:00
netipsec Fix m_pullup() problem after removing PULLDOWN_TESTs and KAME EXT_*macros. 2019-12-01 00:22:04 +00:00
netpfil pf: Apply kif flags to new group members 2020-01-23 22:13:41 +00:00
netsmb
nfs vfs: drop the mostly unused flags argument from VOP_UNLOCK 2020-01-03 22:29:58 +00:00
nfsclient
nfsserver
nlm vfs: drop the mostly unused flags argument from VOP_UNLOCK 2020-01-03 22:29:58 +00:00
ofed Make sure the VNET is properly set when reaping mbufs in ipoib. 2020-01-11 12:02:16 +00:00
opencrypto Add stricter checking on mac key lengths. 2020-01-09 18:29:59 +00:00
powerpc This is Ethernet driver so mark the interrupt appropriately. 2020-01-23 01:46:05 +00:00
riscv Include the PCI stack to the riscv GENERIC kernel. 2020-01-24 17:10:21 +00:00
rpc Change r355157 to make svc_rpc_gss_lifetime_max a static. 2019-11-28 02:18:51 +00:00
security vfs: eliminate v_tag from struct vnode 2020-01-07 04:29:34 +00:00
sparc64 sparc64: Busy the TSB page before freeing it in pmap_release(). 2020-01-23 17:18:58 +00:00
sys Correct the use of RB_AUGMENT in the RB_TREE macros so that is invoked 2020-01-27 15:09:13 +00:00
teken Adjust teken to allow build as part of loader 2019-09-05 18:07:40 +00:00
tests
tools vfs: stop null checking routines in vop wrappers 2020-01-26 00:41:38 +00:00
ufs ufs: add vgone calls for unconstructed vnodes in the error path 2020-01-26 00:38:06 +00:00
vm Handle a race of collapse with a retrying fault. 2020-01-24 19:42:53 +00:00
x86 x86: identcpu: Decode new Intel Structured Extended feature bits 2020-01-28 01:37:20 +00:00
xdr
xen
Makefile