]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
In vm_map_entry_set_vnode_text(), tolerate tmpfs mappings for which
authorKonstantin Belousov <kib@FreeBSD.org>
Wed, 5 Jun 2019 20:21:17 +0000 (20:21 +0000)
committerKonstantin Belousov <kib@FreeBSD.org>
Wed, 5 Jun 2019 20:21:17 +0000 (20:21 +0000)
commit32d2014ddea98d33b6b83fe2afadf5049d4b61e2
tree58682759d418ddfa69ff63a75769a25e23952799
parent87e34f6cf4f7c595b12468bdb155778c996c1f88
In vm_map_entry_set_vnode_text(), tolerate tmpfs mappings for which
vnode is no longer resident.

Mapping of tmpfs file does not bump use count on the vnode, because
backing object has swap type.  As result, even during normal
operations, and of course on forced unmount, we might end up with text
mapping from tmpfs node which has no vnode in memory.  In this case,
there is no v_writecount to clear (this was done during reclaim), and
no reason to assert that the vnode is present.

Restructure the code to silently ignore OBJ_SWAP objects with
OBJ_TMPFS_NODE flag set, but OBJ_TMPFS flag clear.

Reported and tested by: pho
Sponsored by: The FreeBSD Foundation
MFC after: 1 week
sys/vm/vm_map.c