svn commit: r364279 - in projects/clang1100-import: lib/libcasper/services lib/libcasper/services/cap_dns lib/libcasper/services/cap_net share/mk sys/compat/linuxkpi/common/include/linux sys/fs/aut...
Dimitry Andric
dim at FreeBSD.org
Sun Aug 16 18:24:57 UTC 2020
Author: dim
Date: Sun Aug 16 18:24:48 2020
New Revision: 364279
URL: https://svnweb.freebsd.org/changeset/base/364279
Log:
Merge ^/head r364264 through r364278.
Added:
projects/clang1100-import/lib/libcasper/services/cap_net/
- copied from r364278, head/lib/libcasper/services/cap_net/
Modified:
projects/clang1100-import/lib/libcasper/services/Makefile
projects/clang1100-import/lib/libcasper/services/cap_dns/Makefile
projects/clang1100-import/lib/libcasper/services/cap_dns/cap_dns.3
projects/clang1100-import/share/mk/src.libnames.mk
projects/clang1100-import/sys/compat/linuxkpi/common/include/linux/fs.h
projects/clang1100-import/sys/fs/autofs/autofs_vnops.c
projects/clang1100-import/sys/fs/ext2fs/ext2_vfsops.c
projects/clang1100-import/sys/fs/fdescfs/fdesc_vfsops.c
projects/clang1100-import/sys/fs/fdescfs/fdesc_vnops.c
projects/clang1100-import/sys/fs/fuse/fuse_vfsops.c
projects/clang1100-import/sys/fs/msdosfs/msdosfs_vfsops.c
projects/clang1100-import/sys/fs/nfsclient/nfs_clvfsops.c
projects/clang1100-import/sys/fs/nullfs/null_vfsops.c
projects/clang1100-import/sys/fs/pseudofs/pseudofs_vncache.c
projects/clang1100-import/sys/fs/smbfs/smbfs_node.c
projects/clang1100-import/sys/fs/smbfs/smbfs_vfsops.c
projects/clang1100-import/sys/fs/tmpfs/tmpfs_subr.c
projects/clang1100-import/sys/fs/tmpfs/tmpfs_vfsops.c
projects/clang1100-import/sys/kern/uipc_mqueue.c
projects/clang1100-import/sys/kern/vfs_cache.c
projects/clang1100-import/sys/kern/vfs_default.c
projects/clang1100-import/sys/kern/vfs_lookup.c
projects/clang1100-import/sys/kern/vfs_subr.c
projects/clang1100-import/sys/modules/nvd/Makefile
projects/clang1100-import/sys/modules/usb/cp2112/Makefile
projects/clang1100-import/sys/netinet/sctp_input.c
projects/clang1100-import/sys/netinet/sctp_output.c
projects/clang1100-import/sys/netinet/sctp_pcb.c
projects/clang1100-import/sys/netinet/sctp_structs.h
projects/clang1100-import/sys/netinet/sctputil.c
projects/clang1100-import/sys/netinet/sctputil.h
projects/clang1100-import/sys/sys/namei.h
projects/clang1100-import/sys/sys/param.h
projects/clang1100-import/sys/sys/vnode.h
projects/clang1100-import/sys/ufs/ffs/ffs_alloc.c
projects/clang1100-import/sys/ufs/ffs/ffs_softdep.c
projects/clang1100-import/sys/ufs/ffs/ffs_vfsops.c
projects/clang1100-import/sys/ufs/ufs/ufs_quota.c
projects/clang1100-import/sys/vm/vm_fault.c
projects/clang1100-import/sys/vm/vm_mmap.c
projects/clang1100-import/sys/vm/vm_pageout.c
Directory Properties:
projects/clang1100-import/ (props changed)
Modified: projects/clang1100-import/lib/libcasper/services/Makefile
==============================================================================
--- projects/clang1100-import/lib/libcasper/services/Makefile Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/lib/libcasper/services/Makefile Sun Aug 16 18:24:48 2020 (r364279)
@@ -5,6 +5,7 @@
SUBDIR= cap_dns
SUBDIR+= cap_fileargs
SUBDIR+= cap_grp
+SUBDIR+= cap_net
SUBDIR+= cap_pwd
SUBDIR+= cap_sysctl
SUBDIR+= cap_syslog
Modified: projects/clang1100-import/lib/libcasper/services/cap_dns/Makefile
==============================================================================
--- projects/clang1100-import/lib/libcasper/services/cap_dns/Makefile Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/lib/libcasper/services/cap_dns/Makefile Sun Aug 16 18:24:48 2020 (r364279)
@@ -27,11 +27,6 @@ SUBDIR.${MK_TESTS}+= tests
MAN+= cap_dns.3
MLINKS+=cap_dns.3 libcap_dns.3
-MLINKS+=cap_dns.3 cap_gethostbyname.3
-MLINKS+=cap_dns.3 cap_gethostbyname2.3
-MLINKS+=cap_dns.3 cap_gethostbyaddr.3
-MLINKS+=cap_dns.3 cap_getaddrinfo.3
-MLINKS+=cap_dns.3 cap_getnameinfo.3
MLINKS+=cap_dns.3 cap_dns_type_limit.3
MLINKS+=cap_dns.3 cap_dns_family_limit.3
Modified: projects/clang1100-import/lib/libcasper/services/cap_dns/cap_dns.3
==============================================================================
--- projects/clang1100-import/lib/libcasper/services/cap_dns/cap_dns.3 Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/lib/libcasper/services/cap_dns/cap_dns.3 Sun Aug 16 18:24:48 2020 (r364279)
@@ -24,7 +24,7 @@
.\"
.\" $FreeBSD$
.\"
-.Dd May 5, 2020
+.Dd August 15, 2020
.Dt CAP_DNS 3
.Os
.Sh NAME
@@ -58,6 +58,9 @@
.Fn cap_dns_family_limit "const cap_channel_t *chan" "const int *families" "size_t nfamilies"
.Sh DESCRIPTION
.Bf -symbolic
+This service is obsolete and
+.Xr cap_net 3
+should be used instead.
The
.Fn cap_getaddrinfo ,
and
Modified: projects/clang1100-import/share/mk/src.libnames.mk
==============================================================================
--- projects/clang1100-import/share/mk/src.libnames.mk Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/share/mk/src.libnames.mk Sun Aug 16 18:24:48 2020 (r364279)
@@ -89,6 +89,7 @@ _LIBRARIES= \
cap_dns \
cap_fileargs \
cap_grp \
+ cap_net \
cap_pwd \
cap_sysctl \
cap_syslog \
@@ -637,6 +638,7 @@ LIBBSNMPDIR= ${OBJTOP}/lib/libbsnmp/libbsnmp
LIBCASPERDIR= ${OBJTOP}/lib/libcasper/libcasper
LIBCAP_DNSDIR= ${OBJTOP}/lib/libcasper/services/cap_dns
LIBCAP_GRPDIR= ${OBJTOP}/lib/libcasper/services/cap_grp
+LIBCAP_NETDIR= ${OBJTOP}/lib/libcasper/services/cap_net
LIBCAP_PWDDIR= ${OBJTOP}/lib/libcasper/services/cap_pwd
LIBCAP_SYSCTLDIR= ${OBJTOP}/lib/libcasper/services/cap_sysctl
LIBCAP_SYSLOGDIR= ${OBJTOP}/lib/libcasper/services/cap_syslog
Modified: projects/clang1100-import/sys/compat/linuxkpi/common/include/linux/fs.h
==============================================================================
--- projects/clang1100-import/sys/compat/linuxkpi/common/include/linux/fs.h Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/compat/linuxkpi/common/include/linux/fs.h Sun Aug 16 18:24:48 2020 (r364279)
@@ -260,7 +260,7 @@ igrab(struct inode *inode)
{
int error;
- error = vget(inode, 0, curthread);
+ error = vget(inode, 0);
if (error)
return (NULL);
Modified: projects/clang1100-import/sys/fs/autofs/autofs_vnops.c
==============================================================================
--- projects/clang1100-import/sys/fs/autofs/autofs_vnops.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/autofs/autofs_vnops.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -656,7 +656,7 @@ autofs_node_vn(struct autofs_node *anp, struct mount *
vp = anp->an_vnode;
if (vp != NULL) {
- error = vget(vp, flags | LK_RETRY, curthread);
+ error = vget(vp, flags | LK_RETRY);
if (error != 0) {
AUTOFS_WARN("vget failed with error %d", error);
sx_xunlock(&anp->an_vnode_lock);
Modified: projects/clang1100-import/sys/fs/ext2fs/ext2_vfsops.c
==============================================================================
--- projects/clang1100-import/sys/fs/ext2fs/ext2_vfsops.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/ext2fs/ext2_vfsops.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -799,7 +799,7 @@ loop:
/*
* Step 4: invalidate all cached file data.
*/
- if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) {
+ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) {
MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp);
goto loop;
}
@@ -1158,7 +1158,7 @@ loop:
VI_UNLOCK(vp);
continue;
}
- error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, td);
+ error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK);
if (error) {
if (error == ENOENT) {
MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp);
Modified: projects/clang1100-import/sys/fs/fdescfs/fdesc_vfsops.c
==============================================================================
--- projects/clang1100-import/sys/fs/fdescfs/fdesc_vfsops.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/fdescfs/fdesc_vfsops.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -163,7 +163,7 @@ fdesc_root(struct mount *mp, int flags, struct vnode *
* Return locked reference to root.
*/
vp = VFSTOFDESC(mp)->f_root;
- vget(vp, LK_EXCLUSIVE | LK_RETRY, curthread);
+ vget(vp, LK_EXCLUSIVE | LK_RETRY);
*vpp = vp;
return (0);
}
Modified: projects/clang1100-import/sys/fs/fdescfs/fdesc_vnops.c
==============================================================================
--- projects/clang1100-import/sys/fs/fdescfs/fdesc_vnops.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/fdescfs/fdesc_vnops.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -182,7 +182,7 @@ loop:
vp = fd->fd_vnode;
VI_LOCK(vp);
mtx_unlock(&fdesc_hashmtx);
- if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td))
+ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK))
goto loop;
*vpp = vp;
return (0);
@@ -232,7 +232,7 @@ loop:
vp2 = fd2->fd_vnode;
VI_LOCK(vp2);
mtx_unlock(&fdesc_hashmtx);
- error = vget(vp2, LK_EXCLUSIVE | LK_INTERLOCK, td);
+ error = vget(vp2, LK_EXCLUSIVE | LK_INTERLOCK);
/* Someone beat us, dec use count and wait for reclaim */
vgone(vp);
vput(vp);
Modified: projects/clang1100-import/sys/fs/fuse/fuse_vfsops.c
==============================================================================
--- projects/clang1100-import/sys/fs/fuse/fuse_vfsops.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/fuse/fuse_vfsops.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -610,7 +610,7 @@ fuse_vfsop_root(struct mount *mp, int lkflags, struct
int err = 0;
if (data->vroot != NULL) {
- err = vget(data->vroot, lkflags, curthread);
+ err = vget(data->vroot, lkflags);
if (err == 0)
*vpp = data->vroot;
} else {
Modified: projects/clang1100-import/sys/fs/msdosfs/msdosfs_vfsops.c
==============================================================================
--- projects/clang1100-import/sys/fs/msdosfs/msdosfs_vfsops.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/msdosfs/msdosfs_vfsops.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -921,7 +921,7 @@ loop:
VI_UNLOCK(vp);
continue;
}
- error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK, td);
+ error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK);
if (error) {
if (error == ENOENT) {
MNT_VNODE_FOREACH_ALL_ABORT(mp, nvp);
Modified: projects/clang1100-import/sys/fs/nfsclient/nfs_clvfsops.c
==============================================================================
--- projects/clang1100-import/sys/fs/nfsclient/nfs_clvfsops.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/nfsclient/nfs_clvfsops.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -1828,7 +1828,7 @@ loop:
VI_UNLOCK(vp);
continue;
}
- if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) {
+ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) {
MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp);
goto loop;
}
Modified: projects/clang1100-import/sys/fs/nullfs/null_vfsops.c
==============================================================================
--- projects/clang1100-import/sys/fs/nullfs/null_vfsops.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/nullfs/null_vfsops.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -281,7 +281,7 @@ nullfs_root(mp, flags, vpp)
NULLFSDEBUG("nullfs_root(mp = %p, vp = %p)\n", mp,
mntdata->nullm_lowerrootvp);
- error = vget(mntdata->nullm_lowerrootvp, flags, curthread);
+ error = vget(mntdata->nullm_lowerrootvp, flags);
if (error == 0) {
error = null_nodeget(mp, mntdata->nullm_lowerrootvp, &vp);
if (error == 0) {
Modified: projects/clang1100-import/sys/fs/pseudofs/pseudofs_vncache.c
==============================================================================
--- projects/clang1100-import/sys/fs/pseudofs/pseudofs_vncache.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/pseudofs/pseudofs_vncache.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -136,7 +136,7 @@ retry:
vp = pvd->pvd_vnode;
VI_LOCK(vp);
mtx_unlock(&pfs_vncache_mutex);
- if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, curthread) == 0) {
+ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK) == 0) {
++pfs_vncache_hits;
*vpp = vp;
/*
@@ -218,7 +218,7 @@ retry2:
vp = pvd2->pvd_vnode;
VI_LOCK(vp);
mtx_unlock(&pfs_vncache_mutex);
- if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, curthread) == 0) {
+ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK) == 0) {
++pfs_vncache_hits;
vgone(*vpp);
vput(*vpp);
Modified: projects/clang1100-import/sys/fs/smbfs/smbfs_node.c
==============================================================================
--- projects/clang1100-import/sys/fs/smbfs/smbfs_node.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/smbfs/smbfs_node.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -124,7 +124,7 @@ smbfs_node_alloc(struct mount *mp, struct vnode *dvp,
if (dvp == NULL)
return EINVAL;
vp = VTOSMB(VTOSMB(dvp)->n_parent)->n_vnode;
- error = vget(vp, LK_EXCLUSIVE, td);
+ error = vget(vp, LK_EXCLUSIVE);
if (error == 0)
*vpp = vp;
return error;
Modified: projects/clang1100-import/sys/fs/smbfs/smbfs_vfsops.c
==============================================================================
--- projects/clang1100-import/sys/fs/smbfs/smbfs_vfsops.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/smbfs/smbfs_vfsops.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -329,7 +329,7 @@ smbfs_root(struct mount *mp, int flags, struct vnode *
if (smp->sm_root) {
*vpp = SMBTOV(smp->sm_root);
- return vget(*vpp, LK_EXCLUSIVE | LK_RETRY, td);
+ return vget(*vpp, LK_EXCLUSIVE | LK_RETRY);
}
scred = smbfs_malloc_scred();
smb_makescred(scred, td, cred);
Modified: projects/clang1100-import/sys/fs/tmpfs/tmpfs_subr.c
==============================================================================
--- projects/clang1100-import/sys/fs/tmpfs/tmpfs_subr.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/tmpfs/tmpfs_subr.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -588,6 +588,7 @@ tmpfs_alloc_vp(struct mount *mp, struct tmpfs_node *no
struct vnode **vpp)
{
struct vnode *vp;
+ enum vgetstate vs;
struct tmpfs_mount *tm;
vm_object_t object;
int error;
@@ -600,18 +601,15 @@ loop:
TMPFS_NODE_ASSERT_LOCKED(node);
if ((vp = node->tn_vnode) != NULL) {
MPASS((node->tn_vpstate & TMPFS_VNODE_DOOMED) == 0);
- VI_LOCK(vp);
if ((node->tn_type == VDIR && node->tn_dir.tn_parent == NULL) ||
(VN_IS_DOOMED(vp) &&
(lkflag & LK_NOWAIT) != 0)) {
- VI_UNLOCK(vp);
TMPFS_NODE_UNLOCK(node);
error = ENOENT;
vp = NULL;
goto out;
}
if (VN_IS_DOOMED(vp)) {
- VI_UNLOCK(vp);
node->tn_vpstate |= TMPFS_VNODE_WRECLAIM;
while ((node->tn_vpstate & TMPFS_VNODE_WRECLAIM) != 0) {
msleep(&node->tn_vnode, TMPFS_NODE_MTX(node),
@@ -619,8 +617,9 @@ loop:
}
goto loop;
}
+ vs = vget_prep(vp);
TMPFS_NODE_UNLOCK(node);
- error = vget(vp, lkflag | LK_INTERLOCK, curthread);
+ error = vget_finish(vp, lkflag, vs);
if (error == ENOENT) {
TMPFS_NODE_LOCK(node);
goto loop;
Modified: projects/clang1100-import/sys/fs/tmpfs/tmpfs_vfsops.c
==============================================================================
--- projects/clang1100-import/sys/fs/tmpfs/tmpfs_vfsops.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/fs/tmpfs/tmpfs_vfsops.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -130,8 +130,7 @@ tmpfs_update_mtime(struct mount *mp, bool lazy)
* metadata changes now.
*/
if (!lazy || obj->generation != obj->cleangeneration) {
- if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK,
- curthread) != 0)
+ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK) != 0)
continue;
tmpfs_check_mtime(vp);
if (!lazy)
Modified: projects/clang1100-import/sys/kern/uipc_mqueue.c
==============================================================================
--- projects/clang1100-import/sys/kern/uipc_mqueue.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/kern/uipc_mqueue.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -754,7 +754,7 @@ mqfs_allocv(struct mount *mp, struct vnode **vpp, stru
found:
*vpp = vd->mv_vnode;
sx_xunlock(&mqfs->mi_lock);
- error = vget(*vpp, LK_RETRY | LK_EXCLUSIVE, curthread);
+ error = vget(*vpp, LK_RETRY | LK_EXCLUSIVE);
vdrop(*vpp);
return (error);
}
Modified: projects/clang1100-import/sys/kern/vfs_cache.c
==============================================================================
--- projects/clang1100-import/sys/kern/vfs_cache.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/kern/vfs_cache.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -2427,11 +2427,11 @@ sys___getcwd(struct thread *td, struct __getcwd_args *
if (buflen > MAXPATHLEN)
buflen = MAXPATHLEN;
- buf = malloc(buflen, M_TEMP, M_WAITOK);
+ buf = uma_zalloc(namei_zone, M_WAITOK);
error = vn_getcwd(td, buf, &retbuf, &buflen);
if (error == 0)
error = copyout(retbuf, uap->buf, buflen);
- free(buf, M_TEMP);
+ uma_zfree(namei_zone, buf);
return (error);
}
@@ -2982,8 +2982,6 @@ DB_SHOW_COMMAND(vpath, db_show_vpath)
}
#endif
-
-extern uma_zone_t namei_zone;
static bool __read_frequently cache_fast_lookup = true;
SYSCTL_BOOL(_vfs, OID_AUTO, cache_fast_lookup, CTLFLAG_RW,
Modified: projects/clang1100-import/sys/kern/vfs_default.c
==============================================================================
--- projects/clang1100-import/sys/kern/vfs_default.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/kern/vfs_default.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -1348,7 +1348,7 @@ loop:
VI_UNLOCK(vp);
continue;
}
- if ((error = vget(vp, lockreq, td)) != 0) {
+ if ((error = vget(vp, lockreq)) != 0) {
if (error == ENOENT) {
MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp);
goto loop;
Modified: projects/clang1100-import/sys/kern/vfs_lookup.c
==============================================================================
--- projects/clang1100-import/sys/kern/vfs_lookup.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/kern/vfs_lookup.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -504,8 +504,7 @@ namei(struct nameidata *ndp)
* Get a buffer for the name to be translated, and copy the
* name into the buffer.
*/
- if ((cnp->cn_flags & HASBUF) == 0)
- cnp->cn_pnbuf = uma_zalloc(namei_zone, M_WAITOK);
+ cnp->cn_pnbuf = uma_zalloc(namei_zone, M_WAITOK);
if (ndp->ni_segflg == UIO_SYSSPACE)
error = copystr(ndp->ni_dirp, cnp->cn_pnbuf, MAXPATHLEN,
&ndp->ni_pathlen);
Modified: projects/clang1100-import/sys/kern/vfs_subr.c
==============================================================================
--- projects/clang1100-import/sys/kern/vfs_subr.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/kern/vfs_subr.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -2856,12 +2856,10 @@ vget_abort(struct vnode *vp, enum vgetstate vs)
}
int
-vget(struct vnode *vp, int flags, struct thread *td)
+vget(struct vnode *vp, int flags)
{
enum vgetstate vs;
- MPASS(td == curthread);
-
vs = vget_prep(vp);
return (vget_finish(vp, flags, vs));
}
@@ -4684,7 +4682,7 @@ vfs_periodic_msync_inactive(struct mount *mp, int flag
VI_UNLOCK(vp);
continue;
}
- if (vget(vp, lkflags, td) == 0) {
+ if (vget(vp, lkflags) == 0) {
obj = vp->v_object;
if (obj != NULL && (vp->v_vflag & VV_NOSYNC) == 0) {
VM_OBJECT_WLOCK(obj);
Modified: projects/clang1100-import/sys/modules/nvd/Makefile
==============================================================================
--- projects/clang1100-import/sys/modules/nvd/Makefile Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/modules/nvd/Makefile Sun Aug 16 18:24:48 2020 (r364279)
@@ -3,6 +3,6 @@
.PATH: ${SRCTOP}/sys/dev/nvd
KMOD= nvd
-SRCS= nvd.c opt_geom.h device_if.h bus_if.h
+SRCS= nvd.c opt_geom.h device_if.h bus_if.h pci_if.h
.include <bsd.kmod.mk>
Modified: projects/clang1100-import/sys/modules/usb/cp2112/Makefile
==============================================================================
--- projects/clang1100-import/sys/modules/usb/cp2112/Makefile Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/modules/usb/cp2112/Makefile Sun Aug 16 18:24:48 2020 (r364279)
@@ -31,7 +31,7 @@ S= ${SRCTOP}/sys
KMOD= cp2112
SRCS= cp2112.c
-SRCS+= opt_bus.h opt_usb.h
+SRCS+= opt_bus.h opt_platform.h opt_usb.h
SRCS+= device_if.h bus_if.h gpio_if.h iicbus_if.h usb_if.h usbdevs.h
.include <bsd.kmod.mk>
Modified: projects/clang1100-import/sys/netinet/sctp_input.c
==============================================================================
--- projects/clang1100-import/sys/netinet/sctp_input.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/netinet/sctp_input.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -829,7 +829,6 @@ sctp_handle_abort(struct sctp_abort_chunk *abort,
#ifdef SCTP_ASOCLOG_OF_TSNS
sctp_print_out_track_log(stcb);
#endif
- SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_WAS_ABORTED);
(void)sctp_free_assoc(stcb->sctp_ep, stcb, SCTP_NORMAL_PROC,
SCTP_FROM_SCTP_INPUT + SCTP_LOC_8);
SCTPDBG(SCTP_DEBUG_INPUT2, "sctp_handle_abort: finished\n");
@@ -1866,7 +1865,7 @@ sctp_process_cookie_existing(struct mbuf *m, int iphle
/* send up all the data */
SCTP_TCB_SEND_LOCK(stcb);
- sctp_report_all_outbound(stcb, 0, 1, SCTP_SO_LOCKED);
+ sctp_report_all_outbound(stcb, 0, SCTP_SO_LOCKED);
for (i = 0; i < stcb->asoc.streamoutcnt; i++) {
stcb->asoc.strmout[i].chunks_on_queues = 0;
#if defined(SCTP_DETAILED_STR_STATS)
Modified: projects/clang1100-import/sys/netinet/sctp_output.c
==============================================================================
--- projects/clang1100-import/sys/netinet/sctp_output.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/netinet/sctp_output.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -13148,12 +13148,21 @@ skip_preblock:
if (sinfo_flags & SCTP_UNORDERED) {
SCTP_STAT_INCR(sctps_sends_with_unord);
}
+ sp->processing = 1;
TAILQ_INSERT_TAIL(&strm->outqueue, sp, next);
stcb->asoc.ss_functions.sctp_ss_add_to_stream(stcb, asoc, strm, sp, 1);
SCTP_TCB_SEND_UNLOCK(stcb);
} else {
SCTP_TCB_SEND_LOCK(stcb);
sp = TAILQ_LAST(&strm->outqueue, sctp_streamhead);
+ if (sp->processing) {
+ SCTP_TCB_SEND_UNLOCK(stcb);
+ SCTP_LTRACE_ERR_RET(inp, stcb, net, SCTP_FROM_SCTP_OUTPUT, EINVAL);
+ error = EINVAL;
+ goto out;
+ } else {
+ sp->processing = 1;
+ }
SCTP_TCB_SEND_UNLOCK(stcb);
if (sp == NULL) {
/* ???? Huh ??? last msg is gone */
@@ -13195,13 +13204,14 @@ skip_preblock:
}
/* Update the mbuf and count */
SCTP_TCB_SEND_LOCK(stcb);
- if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
+ if ((stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) ||
+ (stcb->asoc.state & SCTP_STATE_WAS_ABORTED)) {
/*
* we need to get out. Peer probably
* aborted.
*/
sctp_m_freem(mm);
- if (stcb->asoc.state & SCTP_PCB_FLAGS_WAS_ABORTED) {
+ if (stcb->asoc.state & SCTP_STATE_WAS_ABORTED) {
SCTP_LTRACE_ERR_RET(NULL, stcb, NULL, SCTP_FROM_SCTP_OUTPUT, ECONNRESET);
error = ECONNRESET;
}
@@ -13405,7 +13415,8 @@ skip_preblock:
}
}
SCTP_TCB_SEND_LOCK(stcb);
- if (stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) {
+ if ((stcb->asoc.state & SCTP_STATE_ABOUT_TO_BE_FREED) ||
+ (stcb->asoc.state & SCTP_STATE_WAS_ABORTED)) {
SCTP_TCB_SEND_UNLOCK(stcb);
goto out_unlocked;
}
@@ -13421,6 +13432,7 @@ skip_preblock:
strm->last_msg_incomplete = 0;
asoc->stream_locked = 0;
}
+ sp->processing = 0;
} else {
SCTP_PRINTF("Huh no sp TSNH?\n");
strm->last_msg_incomplete = 0;
Modified: projects/clang1100-import/sys/netinet/sctp_pcb.c
==============================================================================
--- projects/clang1100-import/sys/netinet/sctp_pcb.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/netinet/sctp_pcb.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -4733,6 +4733,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc
/* there is no asoc, really TSNH :-0 */
return (1);
}
+ SCTP_TCB_SEND_LOCK(stcb);
if (stcb->asoc.alternate) {
sctp_free_remote_addr(stcb->asoc.alternate);
stcb->asoc.alternate = NULL;
@@ -4767,6 +4768,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc
/* nope, reader or writer in the way */
sctp_timer_start(SCTP_TIMER_TYPE_ASOCKILL, inp, stcb, NULL);
/* no asoc destroyed */
+ SCTP_TCB_SEND_UNLOCK(stcb);
SCTP_TCB_UNLOCK(stcb);
#ifdef SCTP_LOG_CLOSING
sctp_log_closing(inp, stcb, 8);
@@ -4835,6 +4837,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc
SCTP_CLEAR_SUBSTATE(stcb, SCTP_STATE_IN_ACCEPT_QUEUE);
sctp_timer_start(SCTP_TIMER_TYPE_ASOCKILL, inp, stcb, NULL);
}
+ SCTP_TCB_SEND_UNLOCK(stcb);
SCTP_TCB_UNLOCK(stcb);
if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) ||
(inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_GONE))
@@ -4868,10 +4871,12 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc
if (from_inpcbfree == SCTP_NORMAL_PROC) {
atomic_add_int(&stcb->asoc.refcnt, 1);
+ SCTP_TCB_SEND_UNLOCK(stcb);
SCTP_TCB_UNLOCK(stcb);
SCTP_INP_INFO_WLOCK();
SCTP_INP_WLOCK(inp);
SCTP_TCB_LOCK(stcb);
+ SCTP_TCB_SEND_LOCK(stcb);
}
/* Double check the GONE flag */
if ((inp->sctp_flags & SCTP_PCB_FLAGS_SOCKET_ALLGONE) ||
@@ -4919,6 +4924,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc
SCTP_INP_INFO_WUNLOCK();
SCTP_INP_WUNLOCK(inp);
}
+ SCTP_TCB_SEND_UNLOCK(stcb);
SCTP_TCB_UNLOCK(stcb);
return (0);
}
@@ -4950,7 +4956,6 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc
* in case.
*/
/* anything on the wheel needs to be removed */
- SCTP_TCB_SEND_LOCK(stcb);
for (i = 0; i < asoc->streamoutcnt; i++) {
struct sctp_stream_out *outs;
@@ -4981,7 +4986,6 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc
sctp_free_a_strmoq(stcb, sp, SCTP_SO_LOCKED);
}
}
- SCTP_TCB_SEND_UNLOCK(stcb);
/* sa_ignore FREED_MEMORY */
TAILQ_FOREACH_SAFE(strrst, &asoc->resetHead, next_resp, nstrrst) {
TAILQ_REMOVE(&asoc->resetHead, strrst, next_resp);
@@ -5183,6 +5187,7 @@ sctp_free_assoc(struct sctp_inpcb *inp, struct sctp_tc
/* Insert new items here :> */
/* Get rid of LOCK */
+ SCTP_TCB_SEND_UNLOCK(stcb);
SCTP_TCB_UNLOCK(stcb);
SCTP_TCB_LOCK_DESTROY(stcb);
SCTP_TCB_SEND_LOCK_DESTROY(stcb);
Modified: projects/clang1100-import/sys/netinet/sctp_structs.h
==============================================================================
--- projects/clang1100-import/sys/netinet/sctp_structs.h Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/netinet/sctp_structs.h Sun Aug 16 18:24:48 2020 (r364279)
@@ -534,6 +534,7 @@ struct sctp_stream_queue_pending {
uint8_t sender_all_done;
uint8_t put_last_out;
uint8_t discard_rest;
+ uint8_t processing;
};
/*
Modified: projects/clang1100-import/sys/netinet/sctputil.c
==============================================================================
--- projects/clang1100-import/sys/netinet/sctputil.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/netinet/sctputil.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -4239,7 +4239,7 @@ sctp_ulp_notify(uint32_t notification, struct sctp_tcb
}
void
-sctp_report_all_outbound(struct sctp_tcb *stcb, uint16_t error, int holds_lock, int so_locked)
+sctp_report_all_outbound(struct sctp_tcb *stcb, uint16_t error, int so_locked)
{
struct sctp_association *asoc;
struct sctp_stream_out *outs;
@@ -4261,9 +4261,6 @@ sctp_report_all_outbound(struct sctp_tcb *stcb, uint16
return;
}
/* now through all the gunk freeing chunks */
- if (holds_lock == 0) {
- SCTP_TCB_SEND_LOCK(stcb);
- }
/* sent queue SHOULD be empty */
TAILQ_FOREACH_SAFE(chk, &asoc->sent_queue, sctp_next, nchk) {
TAILQ_REMOVE(&asoc->sent_queue, chk, sctp_next);
@@ -4340,10 +4337,6 @@ sctp_report_all_outbound(struct sctp_tcb *stcb, uint16
/* sa_ignore FREED_MEMORY */
}
}
-
- if (holds_lock == 0) {
- SCTP_TCB_SEND_UNLOCK(stcb);
- }
}
void
@@ -4363,8 +4356,11 @@ sctp_abort_notification(struct sctp_tcb *stcb, uint8_t
(stcb->asoc.state & SCTP_STATE_CLOSED_SOCKET)) {
return;
}
+ SCTP_TCB_SEND_LOCK(stcb);
+ SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_WAS_ABORTED);
/* Tell them we lost the asoc */
- sctp_report_all_outbound(stcb, error, 0, so_locked);
+ sctp_report_all_outbound(stcb, error, so_locked);
+ SCTP_TCB_SEND_UNLOCK(stcb);
if (from_peer) {
sctp_ulp_notify(SCTP_NOTIFY_ASSOC_REM_ABORTED, stcb, error, abort, so_locked);
} else {
@@ -4393,7 +4389,6 @@ sctp_abort_association(struct sctp_inpcb *inp, struct
if (stcb != NULL) {
/* We have a TCB to abort, send notification too */
sctp_abort_notification(stcb, 0, 0, NULL, SCTP_SO_NOT_LOCKED);
- SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_WAS_ABORTED);
/* Ok, now lets free it */
SCTP_STAT_INCR_COUNTER32(sctps_aborted);
if ((SCTP_GET_STATE(stcb) == SCTP_STATE_OPEN) ||
@@ -4482,8 +4477,6 @@ sctp_abort_an_association(struct sctp_inpcb *inp, stru
}
}
return;
- } else {
- SCTP_ADD_SUBSTATE(stcb, SCTP_STATE_WAS_ABORTED);
}
/* notify the peer */
sctp_send_abort_tcb(stcb, op_err, so_locked);
Modified: projects/clang1100-import/sys/netinet/sctputil.h
==============================================================================
--- projects/clang1100-import/sys/netinet/sctputil.h Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/netinet/sctputil.h Sun Aug 16 18:24:48 2020 (r364279)
@@ -164,7 +164,7 @@ void sctp_stop_timers_for_shutdown(struct sctp_tcb *);
/* Stop all timers for association and remote addresses. */
void sctp_stop_association_timers(struct sctp_tcb *, bool);
-void sctp_report_all_outbound(struct sctp_tcb *, uint16_t, int, int);
+void sctp_report_all_outbound(struct sctp_tcb *, uint16_t, int);
int sctp_expand_mapping_array(struct sctp_association *, uint32_t);
Modified: projects/clang1100-import/sys/sys/namei.h
==============================================================================
--- projects/clang1100-import/sys/sys/namei.h Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/sys/namei.h Sun Aug 16 18:24:48 2020 (r364279)
@@ -149,21 +149,21 @@ int cache_fplookup(struct nameidata *ndp, enum cache_f
* buffer and for vrele'ing ni_startdir.
*/
#define RDONLY 0x00000200 /* lookup with read-only semantics */
-#define HASBUF 0x00000400 /* has allocated pathname buffer */
-#define SAVENAME 0x00000800 /* save pathname buffer */
-#define SAVESTART 0x00001000 /* save starting directory */
-#define ISWHITEOUT 0x00002000 /* found whiteout */
-#define DOWHITEOUT 0x00004000 /* do whiteouts */
-#define WILLBEDIR 0x00008000 /* new files will be dirs; allow trailing / */
-#define ISOPEN 0x00010000 /* caller is opening; return a real vnode. */
-#define NOCROSSMOUNT 0x00020000 /* do not cross mount points */
-#define NOMACCHECK 0x00040000 /* do not perform MAC checks */
-#define AUDITVNODE1 0x00080000 /* audit the looked up vnode information */
-#define AUDITVNODE2 0x00100000 /* audit the looked up vnode information */
-#define NOCAPCHECK 0x00200000 /* do not perform capability checks */
+#define SAVENAME 0x00000400 /* save pathname buffer */
+#define SAVESTART 0x00000800 /* save starting directory */
+#define ISWHITEOUT 0x00001000 /* found whiteout */
+#define DOWHITEOUT 0x00002000 /* do whiteouts */
+#define WILLBEDIR 0x00004000 /* new files will be dirs; allow trailing / */
+#define ISOPEN 0x00008000 /* caller is opening; return a real vnode. */
+#define NOCROSSMOUNT 0x00010000 /* do not cross mount points */
+#define NOMACCHECK 0x00020000 /* do not perform MAC checks */
+#define AUDITVNODE1 0x00040000 /* audit the looked up vnode information */
+#define AUDITVNODE2 0x00080000 /* audit the looked up vnode information */
+#define NOCAPCHECK 0x00100000 /* do not perform capability checks */
/* UNUSED 0x00400000 */
+/* UNUSED 0x00200000 */
/* UNUSED 0x00800000 */
-/* UNUSED 0x01000000 */
+#define HASBUF 0x01000000 /* has allocated pathname buffer */
#define NOEXECCHECK 0x02000000 /* do not perform exec check on dir */
#define MAKEENTRY 0x04000000 /* entry is to be added to name cache */
#define ISSYMLINK 0x08000000 /* symlink needs interpretation */
@@ -176,7 +176,8 @@ int cache_fplookup(struct nameidata *ndp, enum cache_f
* Flags which must not be passed in by callers.
*/
#define NAMEI_INTERNAL_FLAGS \
- (NOEXECCHECK | MAKEENTRY | ISSYMLINK | ISLASTCN | ISDOTDOT | TRAILINGSLASH)
+ (HASBUF | NOEXECCHECK | MAKEENTRY | ISSYMLINK | ISLASTCN | ISDOTDOT | \
+ TRAILINGSLASH)
/*
* Namei results flags
Modified: projects/clang1100-import/sys/sys/param.h
==============================================================================
--- projects/clang1100-import/sys/sys/param.h Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/sys/param.h Sun Aug 16 18:24:48 2020 (r364279)
@@ -60,7 +60,7 @@
* in the range 5 to 9.
*/
#undef __FreeBSD_version
-#define __FreeBSD_version 1300108 /* Master, propagated to newvers */
+#define __FreeBSD_version 1300109 /* Master, propagated to newvers */
/*
* __FreeBSD_kernel__ indicates that this system uses the kernel of FreeBSD,
Modified: projects/clang1100-import/sys/sys/vnode.h
==============================================================================
--- projects/clang1100-import/sys/sys/vnode.h Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/sys/vnode.h Sun Aug 16 18:24:48 2020 (r364279)
@@ -680,7 +680,7 @@ void vlazy(struct vnode *);
void vdrop(struct vnode *);
void vdropl(struct vnode *);
int vflush(struct mount *mp, int rootrefs, int flags, struct thread *td);
-int vget(struct vnode *vp, int flags, struct thread *td);
+int vget(struct vnode *vp, int flags);
enum vgetstate vget_prep_smr(struct vnode *vp);
enum vgetstate vget_prep(struct vnode *vp);
int vget_finish(struct vnode *vp, int flags, enum vgetstate vs);
Modified: projects/clang1100-import/sys/ufs/ffs/ffs_alloc.c
==============================================================================
--- projects/clang1100-import/sys/ufs/ffs/ffs_alloc.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/ufs/ffs/ffs_alloc.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -3463,7 +3463,7 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS)
*/
pwd = pwd_hold(td);
dvp = pwd->pwd_cdir;
- if ((error = vget(dvp, LK_EXCLUSIVE, td)) != 0) {
+ if ((error = vget(dvp, LK_EXCLUSIVE)) != 0) {
vput(fdvp);
pwd_drop(pwd);
break;
Modified: projects/clang1100-import/sys/ufs/ffs/ffs_softdep.c
==============================================================================
--- projects/clang1100-import/sys/ufs/ffs/ffs_softdep.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/ufs/ffs/ffs_softdep.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -13624,8 +13624,7 @@ softdep_request_cleanup_flush(mp, ump)
VI_UNLOCK(lvp);
continue;
}
- if (vget(lvp, LK_EXCLUSIVE | LK_INTERLOCK | LK_NOWAIT,
- td) != 0) {
+ if (vget(lvp, LK_EXCLUSIVE | LK_INTERLOCK | LK_NOWAIT) != 0) {
failed_vnode = 1;
continue;
}
Modified: projects/clang1100-import/sys/ufs/ffs/ffs_vfsops.c
==============================================================================
--- projects/clang1100-import/sys/ufs/ffs/ffs_vfsops.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/ufs/ffs/ffs_vfsops.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -974,7 +974,7 @@ loop:
/*
* Step 4: invalidate all cached file data.
*/
- if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) {
+ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) {
MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp);
goto loop;
}
@@ -1758,8 +1758,7 @@ ffs_sync_lazy(mp)
VI_UNLOCK(vp);
continue;
}
- if ((error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK,
- td)) != 0)
+ if ((error = vget(vp, LK_EXCLUSIVE | LK_NOWAIT | LK_INTERLOCK)) != 0)
continue;
#ifdef QUOTA
qsyncvp(vp);
@@ -1856,7 +1855,7 @@ loop:
VI_UNLOCK(vp);
continue;
}
- if ((error = vget(vp, lockreq, td)) != 0) {
+ if ((error = vget(vp, lockreq)) != 0) {
if (error == ENOENT || error == ENOLCK) {
MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp);
goto loop;
Modified: projects/clang1100-import/sys/ufs/ufs/ufs_quota.c
==============================================================================
--- projects/clang1100-import/sys/ufs/ufs/ufs_quota.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/ufs/ufs/ufs_quota.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -613,7 +613,7 @@ quotaon(struct thread *td, struct mount *mp, int type,
*/
again:
MNT_VNODE_FOREACH_ALL(vp, mp, mvp) {
- if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) {
+ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) {
MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp);
goto again;
}
@@ -680,7 +680,7 @@ again:
VI_UNLOCK(vp);
continue;
}
- if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td)) {
+ if (vget(vp, LK_EXCLUSIVE | LK_INTERLOCK)) {
MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp);
goto again;
}
@@ -1064,7 +1064,6 @@ int
qsync(struct mount *mp)
{
struct ufsmount *ump = VFSTOUFS(mp);
- struct thread *td = curthread; /* XXX */
struct vnode *vp, *mvp;
struct dquot *dq;
int i, error;
@@ -1088,7 +1087,7 @@ again:
VI_UNLOCK(vp);
continue;
}
- error = vget(vp, LK_EXCLUSIVE | LK_INTERLOCK, td);
+ error = vget(vp, LK_EXCLUSIVE | LK_INTERLOCK);
if (error) {
if (error == ENOENT) {
MNT_VNODE_FOREACH_ALL_ABORT(mp, mvp);
Modified: projects/clang1100-import/sys/vm/vm_fault.c
==============================================================================
--- projects/clang1100-import/sys/vm/vm_fault.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/vm/vm_fault.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -673,7 +673,7 @@ vm_fault_lock_vnode(struct faultstate *fs, bool objloc
* paging-in-progress count incremented. Otherwise, we could
* deadlock.
*/
- error = vget(vp, locked | LK_CANRECURSE | LK_NOWAIT, curthread);
+ error = vget(vp, locked | LK_CANRECURSE | LK_NOWAIT);
if (error == 0) {
fs->vp = vp;
return (KERN_SUCCESS);
@@ -684,7 +684,7 @@ vm_fault_lock_vnode(struct faultstate *fs, bool objloc
unlock_and_deallocate(fs);
else
fault_deallocate(fs);
- error = vget(vp, locked | LK_RETRY | LK_CANRECURSE, curthread);
+ error = vget(vp, locked | LK_RETRY | LK_CANRECURSE);
vdrop(vp);
fs->vp = vp;
KASSERT(error == 0, ("vm_fault: vget failed %d", error));
Modified: projects/clang1100-import/sys/vm/vm_mmap.c
==============================================================================
--- projects/clang1100-import/sys/vm/vm_mmap.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/vm/vm_mmap.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -1284,7 +1284,7 @@ vm_mmap_vnode(struct thread *td, vm_size_t objsize,
cred = td->td_ucred;
writex = (*maxprotp & VM_PROT_WRITE) != 0 &&
(*flagsp & MAP_SHARED) != 0;
- if ((error = vget(vp, LK_SHARED, td)) != 0)
+ if ((error = vget(vp, LK_SHARED)) != 0)
return (error);
AUDIT_ARG_VNODE1(vp);
foff = *foffp;
@@ -1305,7 +1305,7 @@ vm_mmap_vnode(struct thread *td, vm_size_t objsize,
* Bypass filesystems obey the mpsafety of the
* underlying fs. Tmpfs never bypasses.
*/
- error = vget(vp, LK_SHARED, td);
+ error = vget(vp, LK_SHARED);
if (error != 0)
return (error);
}
Modified: projects/clang1100-import/sys/vm/vm_pageout.c
==============================================================================
--- projects/clang1100-import/sys/vm/vm_pageout.c Sun Aug 16 18:23:52 2020 (r364278)
+++ projects/clang1100-import/sys/vm/vm_pageout.c Sun Aug 16 18:24:48 2020 (r364279)
@@ -643,7 +643,7 @@ vm_pageout_clean(vm_page_t m, int *numpagedout)
VM_OBJECT_WUNLOCK(object);
lockmode = MNT_SHARED_WRITES(vp->v_mount) ?
LK_SHARED : LK_EXCLUSIVE;
- if (vget(vp, lockmode | LK_TIMELOCK, curthread)) {
+ if (vget(vp, lockmode | LK_TIMELOCK)) {
vp = NULL;
error = EDEADLK;
goto unlock_mp;
More information about the svn-src-projects
mailing list