From nobody Sun Aug 6 04:31:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJRNX3DLrz4mMMv; Sun, 6 Aug 2023 04:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJRNX30dgz4V5t; Sun, 6 Aug 2023 04:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691296284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DmNOcjQm4jM1rJ/W6UAip8NLvCkI3EW/YqZAHCMDM8s=; b=p4So8lKEh9Obdk9KCAXwUpSkDCYumrP1vICU/RGf9P3KFWuAY+llCGSTgx+G4jQ1ej15HK BtsAJAn9BsrkTW20RlxCKqItWziz/boCNv55XwO0ORWF0RXNFw4w+TunYERFpB8a2jZ3IO gXh0hsJtwilhwuNO48yy58zu+p8fAtayHpbGtqTuqkOzlev9Y4UGUHiqekJCZ/oXR7cHQD brgg8D0sKELUPHHJlxTUWpiCm+Zd+RpQCXzI9nb1iihlEoNBwGmFk9qVDm3I6QFDMyZllp KzOlYak8Hq5bb13vOkJ423+N/p3R8BwchQ2O5g/iJMmt5n5u2OzrdfKsFGVaNA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691296284; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DmNOcjQm4jM1rJ/W6UAip8NLvCkI3EW/YqZAHCMDM8s=; b=mXY38++z/DYik1KiHxmHJ+gUriJFcOzRinj8lxe+iVzjFFK5c/WtRF0Uohaa5fY5Q5Ktfy 81LUOVCRpZSw5dGTpIqPwjzhSD2ISWYpjO9Q2zfYdZwYKNm+Kn5+rb26lYTW0voe/QFohy UqoYGTsTZP3cFZo7Zb3Jki4WGC90otgU5tiGmxJ0le3MgQHn+7HPgtAb8G0jBXXqygqNaY UI0RgrCooDmEW73tT/Bz9x+foCvFtirUp3h/cNH3oRym9dxtPEZQInS5UJOx4iXEH3ZR3K ijG0Q1dai88noIBYsvFynh6EO/iRXbaY/Wa+Ozood+QPxiIaapSfNLDeCyzClw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691296284; a=rsa-sha256; cv=none; b=GO2cJTpn9ztiWosLI3wEQD3hfgjp8wncsK6k41HMthQP4AXh9BQaFdT/2XPzf8Ondh7gsP drJwOpW28yUDaQ4T/3kXAWF+u0JD0ty92LIgS71h2MtmwcU4dMaxEYevlXwYaSVyQ9aUFW 5w/pTENz0KiB/BWZpjaBeaKCyBJXxSiFQY1aHNhuH/QkZfVjbdV2zVDJZHILKi97j+++Yt gj8DMAGC2ruN3dAmECEkJKu8u0FnikxM1QVApA/0m+dNlIxIKbZsFmSP7WS4ezpjrTKgmj 9ie97i6e7+DpYRANmM84jfeBmIrAo//DHG6feKR+QJ581puD50KHSLfKeJy5/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJRNX264jzx7R; Sun, 6 Aug 2023 04:31:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3764VOp5036144; Sun, 6 Aug 2023 04:31:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3764VO6R036143; Sun, 6 Aug 2023 04:31:24 GMT (envelope-from git) Date: Sun, 6 Aug 2023 04:31:24 GMT Message-Id: <202308060431.3764VO6R036143@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kirk McKusick Subject: git: d69d55f78b93 - stable/13 - UFS/FFS: Migrate to modern uintXX_t from u_intXX_t. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: mckusick X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d69d55f78b93f1b639df61a7470b053614548fbb Auto-Submitted: auto-generated The branch stable/13 has been updated by mckusick: URL: https://cgit.FreeBSD.org/src/commit/?id=d69d55f78b93f1b639df61a7470b053614548fbb commit d69d55f78b93f1b639df61a7470b053614548fbb Author: Kirk McKusick AuthorDate: 2023-07-27 22:26:01 +0000 Commit: Kirk McKusick CommitDate: 2023-08-06 04:28:53 +0000 UFS/FFS: Migrate to modern uintXX_t from u_intXX_t. As per https://lists.freebsd.org/archives/freebsd-scsi/2023-July/000257.html move to the modern uintXX_t. While here also migrate u_char to uint8_t. Where other kernel interfaces allow, migrate u_long to uint64_t. No functional changes intended. Sponsored-by: The FreeBSD Foundation (cherry picked from commit 831b1ff7913fb0b317a258a43dce5abefee03a31) --- sys/ufs/ffs/ffs_alloc.c | 148 +++++++++++++++++++++++---------------------- sys/ufs/ffs/ffs_extern.h | 19 +++--- sys/ufs/ffs/ffs_inode.c | 10 +-- sys/ufs/ffs/ffs_rawread.c | 4 +- sys/ufs/ffs/ffs_snapshot.c | 10 +-- sys/ufs/ffs/ffs_softdep.c | 28 ++++----- sys/ufs/ffs/ffs_subr.c | 24 ++++---- sys/ufs/ffs/ffs_tables.c | 6 +- sys/ufs/ffs/ffs_vfsops.c | 25 ++++---- sys/ufs/ffs/ffs_vnops.c | 33 +++++----- sys/ufs/ffs/fs.h | 78 ++++++++++++------------ sys/ufs/ffs/softdep.h | 4 +- sys/ufs/ufs/dinode.h | 38 ++++++------ sys/ufs/ufs/dir.h | 28 ++++----- sys/ufs/ufs/dirhash.h | 2 +- sys/ufs/ufs/extattr.h | 2 +- sys/ufs/ufs/inode.h | 20 +++--- sys/ufs/ufs/quota.h | 46 +++++++------- sys/ufs/ufs/ufs_dirhash.c | 6 +- sys/ufs/ufs/ufs_gjournal.c | 6 +- sys/ufs/ufs/ufs_lookup.c | 19 +++--- sys/ufs/ufs/ufs_quota.c | 30 ++++----- sys/ufs/ufs/ufs_vfsops.c | 2 +- sys/ufs/ufs/ufs_vnops.c | 14 ++--- sys/ufs/ufs/ufsmount.h | 18 +++--- 25 files changed, 312 insertions(+), 308 deletions(-) diff --git a/sys/ufs/ffs/ffs_alloc.c b/sys/ufs/ffs/ffs_alloc.c index c3e6fa3b093c..36181263876c 100644 --- a/sys/ufs/ffs/ffs_alloc.c +++ b/sys/ufs/ffs/ffs_alloc.c @@ -103,10 +103,11 @@ __FBSDID("$FreeBSD$"); #include #include -typedef ufs2_daddr_t allocfcn_t(struct inode *ip, u_int cg, ufs2_daddr_t bpref, - int size, int rsize); +typedef ufs2_daddr_t allocfcn_t(struct inode *ip, uint64_t cg, + ufs2_daddr_t bpref, int size, int rsize); -static ufs2_daddr_t ffs_alloccg(struct inode *, u_int, ufs2_daddr_t, int, int); +static ufs2_daddr_t ffs_alloccg(struct inode *, uint64_t, ufs2_daddr_t, int, + int); static ufs2_daddr_t ffs_alloccgblk(struct inode *, struct buf *, ufs2_daddr_t, int); static void ffs_blkfree_cg(struct ufsmount *, struct fs *, @@ -115,13 +116,14 @@ static void ffs_blkfree_cg(struct ufsmount *, struct fs *, #ifdef INVARIANTS static int ffs_checkblk(struct inode *, ufs2_daddr_t, long); #endif -static ufs2_daddr_t ffs_clusteralloc(struct inode *, u_int, ufs2_daddr_t, int); +static ufs2_daddr_t ffs_clusteralloc(struct inode *, uint64_t, ufs2_daddr_t, + int); static ino_t ffs_dirpref(struct inode *); -static ufs2_daddr_t ffs_fragextend(struct inode *, u_int, ufs2_daddr_t, +static ufs2_daddr_t ffs_fragextend(struct inode *, uint64_t, ufs2_daddr_t, int, int); -static ufs2_daddr_t ffs_hashalloc - (struct inode *, u_int, ufs2_daddr_t, int, int, allocfcn_t *); -static ufs2_daddr_t ffs_nodealloccg(struct inode *, u_int, ufs2_daddr_t, int, +static ufs2_daddr_t ffs_hashalloc(struct inode *, uint64_t, ufs2_daddr_t, + int, int, allocfcn_t *); +static ufs2_daddr_t ffs_nodealloccg(struct inode *, uint64_t, ufs2_daddr_t, int, int); static ufs1_daddr_t ffs_mapsearch(struct fs *, struct cg *, ufs2_daddr_t, int); static int ffs_reallocblks_ufs1(struct vop_reallocblks_args *); @@ -159,7 +161,7 @@ ffs_alloc(struct inode *ip, struct fs *fs; struct ufsmount *ump; ufs2_daddr_t bno; - u_int cg, reclaimed; + uint64_t cg, reclaimed; int64_t delta; #ifdef QUOTA int error; @@ -170,7 +172,7 @@ ffs_alloc(struct inode *ip, fs = ump->um_fs; mtx_assert(UFS_MTX(ump), MA_OWNED); #ifdef INVARIANTS - if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0) { + if ((uint64_t)size > fs->fs_bsize || fragoff(fs, size) != 0) { printf("dev = %s, bsize = %ld, size = %d, fs = %s\n", devtoname(ump->um_dev), (long)fs->fs_bsize, size, fs->fs_fsmnt); @@ -263,7 +265,7 @@ ffs_realloccg(struct inode *ip, struct fs *fs; struct buf *bp; struct ufsmount *ump; - u_int cg, request, reclaimed; + uint64_t cg, request, reclaimed; int error, gbflags; ufs2_daddr_t bno; int64_t delta; @@ -281,8 +283,8 @@ ffs_realloccg(struct inode *ip, #ifdef INVARIANTS if (vp->v_mount->mnt_kern_flag & MNTK_SUSPENDED) panic("ffs_realloccg: allocation on suspended filesystem"); - if ((u_int)osize > fs->fs_bsize || fragoff(fs, osize) != 0 || - (u_int)nsize > fs->fs_bsize || fragoff(fs, nsize) != 0) { + if ((uint64_t)osize > fs->fs_bsize || fragoff(fs, osize) != 0 || + (uint64_t)nsize > fs->fs_bsize || fragoff(fs, nsize) != 0) { printf( "dev = %s, bsize = %ld, osize = %d, nsize = %d, fs = %s\n", devtoname(ump->um_dev), (long)fs->fs_bsize, osize, @@ -1117,7 +1119,7 @@ ffs_valloc(struct vnode *pvp, struct timespec ts; struct ufsmount *ump; ino_t ino, ipref; - u_int cg; + uint64_t cg; int error, reclaimed; *vpp = NULL; @@ -1173,8 +1175,8 @@ retry: panic("ffs_valloc: dup alloc"); } if (DIP(ip, i_blocks) && (fs->fs_flags & FS_UNCLEAN) == 0) { /* XXX */ - printf("free inode %s/%lu had %ld blocks\n", - fs->fs_fsmnt, (u_long)ino, (long)DIP(ip, i_blocks)); + printf("free inode %s/%ju had %ld blocks\n", + fs->fs_fsmnt, (intmax_t)ino, (long)DIP(ip, i_blocks)); DIP_SET(ip, i_blocks, 0); } ip->i_flags = 0; @@ -1242,9 +1244,9 @@ ffs_dirpref(struct inode *pip) struct fs *fs; int cg, prefcg, curcg, dirsize, cgsize; int depth, range, start, end, numdirs, power, numerator, denominator; - u_int avgifree, avgbfree, avgndir, curdirsize; - u_int minifree, minbfree, maxndir; - u_int maxcontigdirs; + uint64_t avgifree, avgbfree, avgndir, curdirsize; + uint64_t minifree, minbfree, maxndir; + uint64_t maxcontigdirs; mtx_assert(UFS_MTX(ITOUMP(pip)), MA_OWNED); fs = ITOFS(pip); @@ -1406,8 +1408,8 @@ ffs_blkpref_ufs1(struct inode *ip, ufs1_daddr_t *bap) { struct fs *fs; - u_int cg, inocg; - u_int avgbfree, startcg; + uint64_t cg, inocg; + uint64_t avgbfree, startcg; ufs2_daddr_t pref, prevbn; KASSERT(indx <= 0 || bap != NULL, ("need non-NULL bap")); @@ -1518,8 +1520,8 @@ ffs_blkpref_ufs2(struct inode *ip, ufs2_daddr_t *bap) { struct fs *fs; - u_int cg, inocg; - u_int avgbfree, startcg; + uint64_t cg, inocg; + uint64_t avgbfree, startcg; ufs2_daddr_t pref, prevbn; KASSERT(indx <= 0 || bap != NULL, ("need non-NULL bap")); @@ -1634,7 +1636,7 @@ ffs_blkpref_ufs2(struct inode *ip, /*VARARGS5*/ static ufs2_daddr_t ffs_hashalloc(struct inode *ip, - u_int cg, + uint64_t cg, ufs2_daddr_t pref, int size, /* Search size for data blocks, mode for inodes */ int rsize, /* Real allocated size. */ @@ -1642,7 +1644,7 @@ ffs_hashalloc(struct inode *ip, { struct fs *fs; ufs2_daddr_t result; - u_int i, icg = cg; + uint64_t i, icg = cg; mtx_assert(UFS_MTX(ITOUMP(ip)), MA_OWNED); #ifdef INVARIANTS @@ -1692,7 +1694,7 @@ ffs_hashalloc(struct inode *ip, */ static ufs2_daddr_t ffs_fragextend(struct inode *ip, - u_int cg, + uint64_t cg, ufs2_daddr_t bprev, int osize, int nsize) @@ -1705,7 +1707,7 @@ ffs_fragextend(struct inode *ip, long bno; int frags, bbase; int i, error; - u_int8_t *blksfree; + uint8_t *blksfree; ump = ITOUMP(ip); fs = ump->um_fs; @@ -1769,7 +1771,7 @@ fail: */ static ufs2_daddr_t ffs_alloccg(struct inode *ip, - u_int cg, + uint64_t cg, ufs2_daddr_t bpref, int size, int rsize) @@ -1781,7 +1783,7 @@ ffs_alloccg(struct inode *ip, ufs1_daddr_t bno; ufs2_daddr_t blkno; int i, allocsiz, error, frags; - u_int8_t *blksfree; + uint8_t *blksfree; ump = ITOUMP(ip); fs = ump->um_fs; @@ -1874,7 +1876,7 @@ ffs_alloccgblk(struct inode *ip, struct ufsmount *ump; ufs1_daddr_t bno; ufs2_daddr_t blkno; - u_int8_t *blksfree; + uint8_t *blksfree; int i, cgbpref; ump = ITOUMP(ip); @@ -1947,7 +1949,7 @@ gotit: */ static ufs2_daddr_t ffs_clusteralloc(struct inode *ip, - u_int cg, + uint64_t cg, ufs2_daddr_t bpref, int len) { @@ -1957,9 +1959,9 @@ ffs_clusteralloc(struct inode *ip, struct ufsmount *ump; int i, run, bit, map, got, error; ufs2_daddr_t bno; - u_char *mapp; + uint8_t *mapp; int32_t *lp; - u_int8_t *blksfree; + uint8_t *blksfree; ump = ITOUMP(ip); fs = ump->um_fs; @@ -2057,8 +2059,8 @@ ffs_clusteralloc(struct inode *ip, static inline struct buf * getinobuf(struct inode *ip, - u_int cg, - u_int32_t cginoblk, + uint64_t cg, + uint32_t cginoblk, int gbflags) { struct fs *fs; @@ -2090,7 +2092,7 @@ SYSCTL_INT(_vfs_ffs, OID_AUTO, doasyncinodeinit, CTLFLAG_RWTUN, */ static ufs2_daddr_t ffs_nodealloccg(struct inode *ip, - u_int cg, + uint64_t cg, ufs2_daddr_t ipref, int mode, int unused) @@ -2099,10 +2101,10 @@ ffs_nodealloccg(struct inode *ip, struct cg *cgp; struct buf *bp, *ibp; struct ufsmount *ump; - u_int8_t *inosused, *loc; + uint8_t *inosused, *loc; struct ufs2_dinode *dp2; int error, start, len, i; - u_int32_t old_initediblk; + uint32_t old_initediblk; ump = ITOUMP(ip); fs = ump->um_fs; @@ -2134,8 +2136,8 @@ restart: start = 0; loc = memcchr(&inosused[start], 0xff, len); if (loc == NULL) { - printf("cg = %d, irotor = %ld, fs = %s\n", - cg, (long)cgp->cg_irotor, fs->fs_fsmnt); + printf("cg = %ju, irotor = %ld, fs = %s\n", + (intmax_t)cg, (long)cgp->cg_irotor, fs->fs_fsmnt); panic("ffs_nodealloccg: map corrupted"); /* NOTREACHED */ } @@ -2259,8 +2261,8 @@ ffs_blkfree_cg(struct ufsmount *ump, daddr_t dbn; ufs1_daddr_t fragno, cgbno; int i, blk, frags, bbase, error; - u_int cg; - u_int8_t *blksfree; + uint64_t cg; + uint8_t *blksfree; struct cdev *dev; cg = dtog(fs, bno); @@ -2278,7 +2280,7 @@ ffs_blkfree_cg(struct ufsmount *ump, } else return; #ifdef INVARIANTS - if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0 || + if ((uint64_t)size > fs->fs_bsize || fragoff(fs, size) != 0 || fragnum(fs, bno) + numfrags(fs, size) > fs->fs_frag) { printf("dev=%s, bno = %jd, bsize = %ld, size = %ld, fs = %s\n", devtoname(dev), (intmax_t)bno, (long)fs->fs_bsize, @@ -2286,9 +2288,9 @@ ffs_blkfree_cg(struct ufsmount *ump, panic("ffs_blkfree_cg: bad size"); } #endif - if ((u_int)bno >= fs->fs_size) { - printf("bad block %jd, ino %lu\n", (intmax_t)bno, - (u_long)inum); + if ((uint64_t)bno >= fs->fs_size) { + printf("bad block %jd, ino %ju\n", (intmax_t)bno, + (intmax_t)inum); ffs_fserr(fs, inum, "bad block"); return; } @@ -2429,7 +2431,7 @@ struct ffs_blkfree_trim_params { static void ffs_blkfree_trim_completed(struct buf *); static void ffs_blkfree_trim_task(void *ctx, int pending __unused); static struct ffs_blkfree_trim_params *trim_lookup(struct ufsmount *, - struct vnode *, ufs2_daddr_t, long, ino_t, u_long, int); + struct vnode *, ufs2_daddr_t, long, ino_t, uint64_t, int); static void ffs_blkfree_sendtrim(struct ffs_blkfree_trim_params *); /* @@ -2482,7 +2484,7 @@ trim_lookup(struct ufsmount *ump, ufs2_daddr_t bno, long size, ino_t inum, - u_long key, + uint64_t key, int alloctype) { struct trimlist_hashhead *tphashhead; @@ -2571,13 +2573,13 @@ ffs_blkfree_sendtrim(struct ffs_blkfree_trim_params *tp) /* * Allocate a new key to use to identify a range of blocks. */ -u_long +uint64_t ffs_blkrelease_start(struct ufsmount *ump, struct vnode *devvp, ino_t inum) { static u_long masterkey; - u_long key; + uint64_t key; if (((ump->um_flags & UM_CANDELETE) == 0) || dotrimcons == 0) return (SINGLETON_KEY); @@ -2592,7 +2594,7 @@ ffs_blkrelease_start(struct ufsmount *ump, * Deallocate a key that has been used to identify a range of blocks. */ void -ffs_blkrelease_finish(struct ufsmount *ump, u_long key) +ffs_blkrelease_finish(struct ufsmount *ump, uint64_t key) { struct ffs_blkfree_trim_params *tp; @@ -2646,7 +2648,7 @@ ffs_blkfree(struct ufsmount *ump, ino_t inum, enum vtype vtype, struct workhead *dephd, - u_long key) + uint64_t key) { struct ffs_blkfree_trim_params *tp, *ntp; struct trim_blkreq *blkelm; @@ -2754,15 +2756,15 @@ ffs_checkblk(struct inode *ip, struct buf *bp; ufs1_daddr_t cgbno; int i, error, frags, free; - u_int8_t *blksfree; + uint8_t *blksfree; fs = ITOFS(ip); - if ((u_int)size > fs->fs_bsize || fragoff(fs, size) != 0) { + if ((uint64_t)size > fs->fs_bsize || fragoff(fs, size) != 0) { printf("bsize = %ld, size = %ld, fs = %s\n", (long)fs->fs_bsize, size, fs->fs_fsmnt); panic("ffs_checkblk: bad size"); } - if ((u_int)bno >= fs->fs_size) + if ((uint64_t)bno >= fs->fs_size) panic("ffs_checkblk: bad block %jd", (intmax_t)bno); error = ffs_getcg(fs, ITODEVVP(ip), dtog(fs, bno), 0, &bp, &cgp); if (error) @@ -2818,8 +2820,8 @@ ffs_freefile(struct ufsmount *ump, struct buf *bp; daddr_t dbn; int error; - u_int cg; - u_int8_t *inosused; + uint64_t cg; + uint8_t *inosused; struct cdev *dev; ino_t cgino; @@ -2895,8 +2897,8 @@ ffs_checkfreefile(struct fs *fs, struct cg *cgp; struct buf *bp; int ret, error; - u_int cg; - u_int8_t *inosused; + uint64_t cg; + uint8_t *inosused; cg = ino_to_cg(fs, ino); if ((devvp->v_type != VREG) && (devvp->v_type != VCHR)) @@ -2927,7 +2929,7 @@ ffs_mapsearch(struct fs *fs, ufs1_daddr_t bno; int start, len, loc, i; int blk, field, subfield, pos; - u_int8_t *blksfree; + uint8_t *blksfree; /* * find the fragment by searching through the free block @@ -2939,15 +2941,15 @@ ffs_mapsearch(struct fs *fs, start = cgp->cg_frotor / NBBY; blksfree = cg_blksfree(cgp); len = howmany(fs->fs_fpg, NBBY) - start; - loc = scanc((u_int)len, (u_char *)&blksfree[start], + loc = scanc((uint64_t)len, (uint8_t *)&blksfree[start], fragtbl[fs->fs_frag], - (u_char)(1 << (allocsiz - 1 + (fs->fs_frag % NBBY)))); + (uint8_t)(1 << (allocsiz - 1 + (fs->fs_frag % NBBY)))); if (loc == 0) { len = start + 1; start = 0; - loc = scanc((u_int)len, (u_char *)&blksfree[0], + loc = scanc((uint64_t)len, (uint8_t *)&blksfree[0], fragtbl[fs->fs_frag], - (u_char)(1 << (allocsiz - 1 + (fs->fs_frag % NBBY)))); + (uint8_t)(1 << (allocsiz - 1 + (fs->fs_frag % NBBY)))); if (loc == 0) { printf("start = %d, len = %d, fs = %s\n", start, len, fs->fs_fsmnt); @@ -2973,7 +2975,7 @@ ffs_mapsearch(struct fs *fs, subfield <<= 1; } } - printf("bno = %lu, fs = %s\n", (u_long)bno, fs->fs_fsmnt); + printf("bno = %ju, fs = %s\n", (intmax_t)bno, fs->fs_fsmnt); panic("ffs_alloccg: block not in map"); return (-1); } @@ -2993,7 +2995,7 @@ ffs_getmntstat(struct vnode *devvp) int ffs_getcg(struct fs *fs, struct vnode *devvp, - u_int cg, + uint64_t cg, int flags, struct buf **bpp, struct cg **cgpp) @@ -3021,11 +3023,11 @@ ffs_getcg(struct fs *fs, (bp->b_flags & B_CKHASH) != 0 && cgp->cg_ckhash != bp->b_ckhash) { sfs = ffs_getmntstat(devvp); - printf("UFS %s%s (%s) cylinder checksum failed: cg %u, cgp: " + printf("UFS %s%s (%s) cylinder checksum failed: cg %ju, cgp: " "0x%x != bp: 0x%jx\n", devvp->v_type == VCHR ? "" : "snapshot of ", sfs->f_mntfromname, sfs->f_mntonname, - cg, cgp->cg_ckhash, (uintmax_t)bp->b_ckhash); + (intmax_t)cg, cgp->cg_ckhash, (uintmax_t)bp->b_ckhash); bp->b_flags &= ~B_CKHASH; bp->b_flags |= B_INVAL | B_NOCACHE; brelse(bp); @@ -3037,11 +3039,11 @@ ffs_getcg(struct fs *fs, devvp->v_type == VCHR ? "" : "snapshot of ", sfs->f_mntfromname, sfs->f_mntonname); if (!cg_chkmagic(cgp)) - printf(" cg %u: bad magic number 0x%x should be 0x%x\n", - cg, cgp->cg_magic, CG_MAGIC); + printf(" cg %ju: bad magic number 0x%x should be " + "0x%x\n", (intmax_t)cg, cgp->cg_magic, CG_MAGIC); else - printf(": wrong cylinder group cg %u != cgx %u\n", cg, - cgp->cg_cgx); + printf(": wrong cylinder group cg %ju != cgx %u\n", + (intmax_t)cg, cgp->cg_cgx); bp->b_flags &= ~B_CKHASH; bp->b_flags |= B_INVAL | B_NOCACHE; brelse(bp); @@ -3219,7 +3221,7 @@ sysctl_ffs_fsck(SYSCTL_HANDLER_ARGS) struct pwd *pwd; ufs2_daddr_t blkno; long blkcnt, blksize; - u_long key; + uint64_t key; struct file *fp; cap_rights_t rights; int filetype, error; diff --git a/sys/ufs/ffs/ffs_extern.h b/sys/ufs/ffs/ffs_extern.h index 1ea473e69f52..fb448abe4e5e 100644 --- a/sys/ufs/ffs/ffs_extern.h +++ b/sys/ufs/ffs/ffs_extern.h @@ -62,14 +62,15 @@ int ffs_balloc_ufs1(struct vnode *a_vp, off_t a_startoffset, int a_size, int ffs_balloc_ufs2(struct vnode *a_vp, off_t a_startoffset, int a_size, struct ucred *a_cred, int a_flags, struct buf **a_bpp); void ffs_blkfree(struct ufsmount *, struct fs *, struct vnode *, - ufs2_daddr_t, long, ino_t, enum vtype, struct workhead *, u_long); + ufs2_daddr_t, long, ino_t, enum vtype, struct workhead *, + uint64_t); ufs2_daddr_t ffs_blkpref_ufs1(struct inode *, ufs_lbn_t, int, ufs1_daddr_t *); ufs2_daddr_t ffs_blkpref_ufs2(struct inode *, ufs_lbn_t, int, ufs2_daddr_t *); -void ffs_blkrelease_finish(struct ufsmount *, u_long); -u_long ffs_blkrelease_start(struct ufsmount *, struct vnode *, ino_t); +void ffs_blkrelease_finish(struct ufsmount *, uint64_t); +uint64_t ffs_blkrelease_start(struct ufsmount *, struct vnode *, ino_t); uint32_t ffs_calc_sbhash(struct fs *); int ffs_checkfreefile(struct fs *, struct vnode *, ino_t); -void ffs_clrblock(struct fs *, u_char *, ufs1_daddr_t); +void ffs_clrblock(struct fs *, uint8_t *, ufs1_daddr_t); void ffs_clusteracct(struct fs *, struct cg *, ufs1_daddr_t, int); void ffs_bdflush(struct bufobj *, struct buf *); int ffs_copyonwrite(struct vnode *, struct buf *); @@ -78,12 +79,12 @@ void ffs_fragacct(struct fs *, int, int32_t [], int); int ffs_freefile(struct ufsmount *, struct fs *, struct vnode *, ino_t, int, struct workhead *); void ffs_fserr(struct fs *, ino_t, char *); -int ffs_getcg(struct fs *, struct vnode *, u_int, int, struct buf **, +int ffs_getcg(struct fs *, struct vnode *, uint64_t, int, struct buf **, struct cg **); -int ffs_inotovp(struct mount *, ino_t, u_int64_t, int, struct vnode **, +int ffs_inotovp(struct mount *, ino_t, uint64_t, int, struct vnode **, int); -int ffs_isblock(struct fs *, u_char *, ufs1_daddr_t); -int ffs_isfreeblock(struct fs *, u_char *, ufs1_daddr_t); +int ffs_isblock(struct fs *, uint8_t *, ufs1_daddr_t); +int ffs_isfreeblock(struct fs *, uint8_t *, ufs1_daddr_t); void ffs_oldfscompat_write(struct fs *, struct ufsmount *); int ffs_own_mount(const struct mount *mp); int ffs_reallocblks(struct vop_reallocblks_args *); @@ -95,7 +96,7 @@ int ffs_sbget(void *, struct fs **, off_t, struct malloc_type *, int ffs_sbput(void *, struct fs *, off_t, int (*)(void *, off_t, void *, int)); int ffs_sbupdate(struct ufsmount *, int, int); -void ffs_setblock(struct fs *, u_char *, ufs1_daddr_t); +void ffs_setblock(struct fs *, uint8_t *, ufs1_daddr_t); int ffs_snapblkfree(struct fs *, struct vnode *, ufs2_daddr_t, long, ino_t, enum vtype, struct workhead *); void ffs_snapremove(struct vnode *vp); diff --git a/sys/ufs/ffs/ffs_inode.c b/sys/ufs/ffs/ffs_inode.c index d9d4f3c4a155..f54c1d57152e 100644 --- a/sys/ufs/ffs/ffs_inode.c +++ b/sys/ufs/ffs/ffs_inode.c @@ -250,7 +250,7 @@ ffs_truncate(struct vnode *vp, int needextclean, extblocks; int offset, size, level, nblocks; int i, error, allerror, indiroff, waitforupdate; - u_long key; + uint64_t key; off_t osize; ip = VTOI(vp); @@ -339,7 +339,7 @@ ffs_truncate(struct vnode *vp, if (length != 0) panic("ffs_truncate: partial truncate of symlink"); #endif - bzero(DIP(ip, i_shortlink), (u_int)ip->i_size); + bzero(DIP(ip, i_shortlink), (uint64_t)ip->i_size); ip->i_size = 0; DIP_SET(ip, i_size, 0); UFS_INODE_SET_FLAG(ip, IN_SIZEMOD | IN_CHANGE | IN_UPDATE); @@ -501,7 +501,7 @@ ffs_truncate(struct vnode *vp, size = blksize(fs, ip, lbn); if (vp->v_type != VDIR && offset != 0) bzero((char *)bp->b_data + offset, - (u_int)(size - offset)); + (uint64_t)(size - offset)); /* Kirk's code has reallocbuf(bp, size, 1) here */ allocbuf(bp, size); if (bp->b_bufsize == fs->fs_bsize) @@ -704,7 +704,7 @@ ffs_indirtrunc(struct inode *ip, struct ufsmount *ump; struct vnode *vp; caddr_t copy = NULL; - u_long key; + uint64_t key; int i, nblocks, error = 0, allerror = 0; ufs2_daddr_t nb, nlbn, last; ufs2_daddr_t blkcount, factor, blocksreleased = 0; @@ -747,7 +747,7 @@ ffs_indirtrunc(struct inode *ip, bap2 = (ufs2_daddr_t *)bp->b_data; if (lastbn != -1) { copy = malloc(fs->fs_bsize, M_TEMP, M_WAITOK); - bcopy((caddr_t)bp->b_data, copy, (u_int)fs->fs_bsize); + bcopy((caddr_t)bp->b_data, copy, (uint64_t)fs->fs_bsize); for (i = last + 1; i < NINDIR(fs); i++) if (I_IS_UFS1(ip)) bap1[i] = 0; diff --git a/sys/ufs/ffs/ffs_rawread.c b/sys/ufs/ffs/ffs_rawread.c index 2c1e6bf2b8d2..3def0784a15e 100644 --- a/sys/ufs/ffs/ffs_rawread.c +++ b/sys/ufs/ffs/ffs_rawread.c @@ -192,7 +192,7 @@ ffs_rawread_readahead(struct vnode *vp, struct buf *bp) { int error; - u_int iolen; + uint64_t iolen; off_t blockno; int blockoff; int bsize; @@ -264,7 +264,7 @@ ffs_rawread_main(struct vnode *vp, { int error, nerror; struct buf *bp, *nbp, *tbp; - u_int iolen; + uint64_t iolen; caddr_t udata; long resid; off_t offset; diff --git a/sys/ufs/ffs/ffs_snapshot.c b/sys/ufs/ffs/ffs_snapshot.c index 907ccb9558be..b606c64241e3 100644 --- a/sys/ufs/ffs/ffs_snapshot.c +++ b/sys/ufs/ffs/ffs_snapshot.c @@ -376,7 +376,7 @@ restart: * touch up the few cylinder groups that changed during * the suspension period. */ - len = roundup2(howmany(fs->fs_ncg, NBBY), sizeof(int)); + len = roundup2(howmany(fs->fs_ncg, NBBY), sizeof(uint64_t)); space = malloc(len, M_DEVBUF, M_WAITOK | M_ZERO); UFS_LOCK(ump); fs->fs_active = space; @@ -467,7 +467,7 @@ restart: * Grab a copy of the superblock and its summary information. * We delay writing it until the suspension is released below. */ - copy_fs = malloc((u_long)fs->fs_bsize, M_UFSMNT, M_WAITOK); + copy_fs = malloc((uint64_t)fs->fs_bsize, M_UFSMNT, M_WAITOK); bcopy(fs, copy_fs, fs->fs_sbsize); copy_fs->fs_si = malloc(sizeof(struct fs_summary_info), M_UFSMNT, M_ZERO | M_WAITOK); @@ -480,7 +480,7 @@ restart: size = blkroundup(fs, fs->fs_cssize); if (fs->fs_contigsumsize > 0) size += fs->fs_ncg * sizeof(int32_t); - space = malloc((u_long)size, M_UFSMNT, M_WAITOK); + space = malloc((uint64_t)size, M_UFSMNT, M_WAITOK); copy_fs->fs_csp = space; bcopy(fs->fs_csp, copy_fs->fs_csp, fs->fs_cssize); space = (char *)space + fs->fs_cssize; @@ -493,7 +493,7 @@ restart: brelse(bp); goto resumefs; } - bcopy(bp->b_data, space, (u_int)len); + bcopy(bp->b_data, space, (uint64_t)len); space = (char *)space + len; bp->b_flags |= B_INVAL | B_NOCACHE; brelse(bp); @@ -829,7 +829,7 @@ resumefs: loc = blkoff(fs, fs->fs_sblockloc); copy_fs->fs_fmod = 0; bpfs = (struct fs *)&nbp->b_data[loc]; - bcopy((caddr_t)copy_fs, (caddr_t)bpfs, (u_int)fs->fs_sbsize); + bcopy((caddr_t)copy_fs, (caddr_t)bpfs, (uint64_t)fs->fs_sbsize); ffs_oldfscompat_write(bpfs, ump); bpfs->fs_ckhash = ffs_calc_sbhash(bpfs); bawrite(nbp); diff --git a/sys/ufs/ffs/ffs_softdep.c b/sys/ufs/ffs/ffs_softdep.c index 75dd5d7e5a5a..6ac3f92fb330 100644 --- a/sys/ufs/ffs/ffs_softdep.c +++ b/sys/ufs/ffs/ffs_softdep.c @@ -831,7 +831,7 @@ static void cancel_allocdirect(struct allocdirectlst *, struct allocdirect *, struct freeblks *); static int check_inode_unwritten(struct inodedep *); static int free_inodedep(struct inodedep *); -static void freework_freeblock(struct freework *, u_long); +static void freework_freeblock(struct freework *, uint64_t); static void freework_enqueue(struct freework *); static int handle_workitem_freeblocks(struct freeblks *, int); static int handle_complete_freeblocks(struct freeblks *, int); @@ -846,7 +846,7 @@ static struct allocindir *newallocindir(struct inode *, int, ufs2_daddr_t, ufs2_daddr_t, ufs_lbn_t); static void handle_workitem_freefrag(struct freefrag *); static struct freefrag *newfreefrag(struct inode *, ufs2_daddr_t, long, - ufs_lbn_t, u_long); + ufs_lbn_t, uint64_t); static void allocdirect_merge(struct allocdirectlst *, struct allocdirect *, struct allocdirect *); static struct freefrag *allocindir_merge(struct allocindir *, @@ -1568,7 +1568,7 @@ worklist_speedup(struct mount *mp) static void softdep_send_speedup(struct ufsmount *ump, off_t shortage, - u_int flags) + uint64_t flags) { struct buf *bp; @@ -2585,7 +2585,7 @@ softdep_mount(struct vnode *devvp, struct ufsmount *ump; struct cg *cgp; struct buf *bp; - u_int cyl, i; + uint64_t cyl, i; int error; ump = VFSTOUFS(mp); @@ -2750,8 +2750,8 @@ softdep_unmount(struct mount *mp) #ifdef INVARIANTS for (int i = 0; i <= D_LAST; i++) { KASSERT(ums->sd_curdeps[i] == 0, - ("Unmount %s: Dep type %s != 0 (%ld)", ump->um_fs->fs_fsmnt, - TYPENAME(i), ums->sd_curdeps[i])); + ("Unmount %s: Dep type %s != 0 (%jd)", ump->um_fs->fs_fsmnt, + TYPENAME(i), (intmax_t)ums->sd_curdeps[i])); KASSERT(LIST_EMPTY(&ums->sd_alldeps[i]), ("Unmount %s: Dep type %s not empty (%p)", ump->um_fs->fs_fsmnt, @@ -5795,7 +5795,7 @@ newfreefrag(struct inode *ip, ufs2_daddr_t blkno, long size, ufs_lbn_t lbn, - u_long key) + uint64_t key) { struct freefrag *freefrag; struct ufsmount *ump; @@ -7954,7 +7954,7 @@ free_inodedep(struct inodedep *inodedep) * in memory immediately. */ static void -freework_freeblock(struct freework *freework, u_long key) +freework_freeblock(struct freework *freework, uint64_t key) { struct freeblks *freeblks; struct jnewblk *jnewblk; @@ -8118,7 +8118,7 @@ handle_workitem_freeblocks(struct freeblks *freeblks, int flags) struct allocindir *aip; struct ufsmount *ump; struct worklist *wk; - u_long key; + uint64_t key; KASSERT(LIST_EMPTY(&freeblks->fb_jblkdephd), ("handle_workitem_freeblocks: Journal entries not written.")); @@ -8306,7 +8306,7 @@ indir_trunc(struct freework *freework, ufs1_daddr_t *bap1; ufs2_daddr_t nb, nnb, *bap2; ufs_lbn_t lbnadd, nlbn; - u_long key; + uint64_t key; int nblocks, ufs1fmt, freedblocks; int goingaway, freedeps, needj, level, cnt, i, error; @@ -9924,7 +9924,7 @@ clear_unlinked_inodedep( struct inodedep *inodedep) * that is in the list. */ if (pino == 0) { - bcopy((caddr_t)fs, bp->b_data, (u_int)fs->fs_sbsize); + bcopy((caddr_t)fs, bp->b_data, (uint64_t)fs->fs_sbsize); bpfs = (struct fs *)bp->b_data; ffs_oldfscompat_write(bpfs, ump); softdep_setup_sbupdate(ump, bpfs, bp); @@ -9956,7 +9956,7 @@ clear_unlinked_inodedep( struct inodedep *inodedep) FREE_LOCK(ump); bp = getblk(ump->um_devvp, btodb(fs->fs_sblockloc), (int)fs->fs_sbsize, 0, 0, 0); - bcopy((caddr_t)fs, bp->b_data, (u_int)fs->fs_sbsize); + bcopy((caddr_t)fs, bp->b_data, (uint64_t)fs->fs_sbsize); bpfs = (struct fs *)bp->b_data; ffs_oldfscompat_write(bpfs, ump); softdep_setup_sbupdate(ump, bpfs, bp); @@ -14781,11 +14781,11 @@ worklist_print(struct worklist *wk, int verbose) if (!verbose) { db_printf("%s: %p state 0x%b\n", TYPENAME(wk->wk_type), wk, - (u_int)wk->wk_state, PRINT_SOFTDEP_FLAGS); + wk->wk_state, PRINT_SOFTDEP_FLAGS); return; } db_printf("worklist: %p type %s state 0x%b next %p\n ", wk, - TYPENAME(wk->wk_type), (u_int)wk->wk_state, PRINT_SOFTDEP_FLAGS, + TYPENAME(wk->wk_type), wk->wk_state, PRINT_SOFTDEP_FLAGS, LIST_NEXT(wk, wk_list)); db_print_ffs(VFSTOUFS(wk->wk_mp)); } diff --git a/sys/ufs/ffs/ffs_subr.c b/sys/ufs/ffs/ffs_subr.c index 813736c9d070..ca90f915c9e4 100644 --- a/sys/ufs/ffs/ffs_subr.c +++ b/sys/ufs/ffs/ffs_subr.c @@ -201,7 +201,7 @@ ffs_sbget(void *devfd, struct fs **fsp, off_t altsblock, blks = howmany(size, fs->fs_fsize); if (fs->fs_contigsumsize > 0) size += fs->fs_ncg * sizeof(int32_t); - size += fs->fs_ncg * sizeof(u_int8_t); + size += fs->fs_ncg * sizeof(uint8_t); /* When running in libufs or libsa, UFS_MALLOC may fail */ if ((fs_si = UFS_MALLOC(sizeof(*fs_si), filltype, M_WAITOK)) == NULL) { UFS_FREE(fs, filltype); @@ -240,8 +240,8 @@ ffs_sbget(void *devfd, struct fs **fsp, off_t altsblock, *lp++ = fs->fs_contigsumsize; space = (uint8_t *)lp; } - size = fs->fs_ncg * sizeof(u_int8_t); - fs->fs_contigdirs = (u_int8_t *)space; + size = fs->fs_ncg * sizeof(uint8_t); + fs->fs_contigdirs = (uint8_t *)space; bzero(fs->fs_contigdirs, size); *fsp = fs; return (0); @@ -362,8 +362,8 @@ SYSCTL_INT(_vfs_ffs, OID_AUTO, prtsberrmsg, CTLFLAG_RWTUN, &prtmsg, 0, static int validate_sblock(struct fs *fs, int isaltsblk) { - u_long i, sectorsize; - u_int64_t maxfilesize, sizepb; + uint64_t i, sectorsize; + uint64_t maxfilesize, sizepb; int error; error = 0; @@ -421,14 +421,14 @@ validate_sblock(struct fs *fs, int isaltsblk) CHK(fs->fs_fpg, <, 3 * fs->fs_frag, %jd); CHK(fs->fs_ncg, <, 1, %jd); CHK(fs->fs_ipg, <, fs->fs_inopb, %jd); - CHK((u_int64_t)fs->fs_ipg * fs->fs_ncg, >, + CHK((uint64_t)fs->fs_ipg * fs->fs_ncg, >, (((int64_t)(1)) << 32) - INOPB(fs), %jd); CHK(fs->fs_cstotal.cs_nifree, <, 0, %jd); - CHK(fs->fs_cstotal.cs_nifree, >, (u_int64_t)fs->fs_ipg * fs->fs_ncg, + CHK(fs->fs_cstotal.cs_nifree, >, (uint64_t)fs->fs_ipg * fs->fs_ncg, %jd); CHK(fs->fs_cstotal.cs_ndir, <, 0, %jd); CHK(fs->fs_cstotal.cs_ndir, >, - ((u_int64_t)fs->fs_ipg * fs->fs_ncg) - fs->fs_cstotal.cs_nifree, + ((uint64_t)fs->fs_ipg * fs->fs_ncg) - fs->fs_cstotal.cs_nifree, %jd); CHK(fs->fs_sbsize, >, SBLOCKSIZE, %jd); CHK(fs->fs_sbsize, <, (unsigned)sizeof(struct fs), %jd); @@ -694,7 +694,7 @@ ffs_isblock(struct fs *fs, unsigned char *cp, ufs1_daddr_t h) * check if a block is free */ int -ffs_isfreeblock(struct fs *fs, u_char *cp, ufs1_daddr_t h) +ffs_isfreeblock(struct fs *fs, uint8_t *cp, ufs1_daddr_t h) { switch ((int)fs->fs_frag) { @@ -719,7 +719,7 @@ ffs_isfreeblock(struct fs *fs, u_char *cp, ufs1_daddr_t h) * take a block out of the map */ void -ffs_clrblock(struct fs *fs, u_char *cp, ufs1_daddr_t h) +ffs_clrblock(struct fs *fs, uint8_t *cp, ufs1_daddr_t h) { switch ((int)fs->fs_frag) { @@ -781,9 +781,9 @@ ffs_clusteracct(struct fs *fs, struct cg *cgp, ufs1_daddr_t blkno, int cnt) { int32_t *sump; int32_t *lp; - u_char *freemapp, *mapp; + uint8_t *freemapp, *mapp; int i, start, end, forw, back, map; - u_int bit; + uint64_t bit; if (fs->fs_contigsumsize <= 0) return; diff --git a/sys/ufs/ffs/ffs_tables.c b/sys/ufs/ffs/ffs_tables.c index cb00db256e9b..2a91e292b461 100644 --- a/sys/ufs/ffs/ffs_tables.c +++ b/sys/ufs/ffs/ffs_tables.c @@ -62,7 +62,7 @@ int inside[9] = { * These tables are used by the scanc instruction on the VAX to * quickly find an appropriate fragment. */ -static u_char fragtbl124[256] = { +static uint8_t fragtbl124[256] = { 0x00, 0x16, 0x16, 0x2a, 0x16, 0x16, 0x26, 0x4e, 0x16, 0x16, 0x16, 0x3e, 0x2a, 0x3e, 0x4e, 0x8a, 0x16, 0x16, 0x16, 0x3e, 0x16, 0x16, 0x36, 0x5e, @@ -97,7 +97,7 @@ static u_char fragtbl124[256] = { 0x9e, 0x9e, 0x9e, 0xbe, 0xaa, 0xbe, 0xce, 0x8a, }; -static u_char fragtbl8[256] = { +static uint8_t fragtbl8[256] = { 0x00, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x04, 0x01, 0x01, 0x01, 0x03, 0x02, 0x03, 0x04, 0x08, 0x01, 0x01, 0x01, 0x03, 0x01, 0x01, 0x03, 0x05, @@ -135,6 +135,6 @@ static u_char fragtbl8[256] = { /* * The actual fragtbl array. */ -u_char *fragtbl[MAXFRAG + 1] = { +uint8_t *fragtbl[MAXFRAG + 1] = { 0, fragtbl124, fragtbl124, 0, fragtbl124, 0, 0, 0, fragtbl8, }; diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index 8e719516b9ce..e77d5e336bf1 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -786,7 +786,7 @@ ffs_reload(struct mount *mp, int flags) struct ufsmount *ump; ufs2_daddr_t sblockloc; int i, blks, error; - u_long size; + uint64_t size; int32_t *lp; ump = VFSTOUFS(mp); @@ -830,7 +830,7 @@ ffs_reload(struct mount *mp, int flags) newfs->fs_si = fs->fs_si; newfs->fs_ronly = fs->fs_ronly; sblockloc = fs->fs_sblockloc; - bcopy(newfs, fs, (u_int)fs->fs_sbsize); + bcopy(newfs, fs, (uint64_t)fs->fs_sbsize); brelse(bp); ump->um_maxsymlinklen = fs->fs_maxsymlinklen; ffs_oldfscompat_read(fs, VFSTOUFS(mp), sblockloc); @@ -851,7 +851,7 @@ ffs_reload(struct mount *mp, int flags) blks = howmany(size, fs->fs_fsize); if (fs->fs_contigsumsize > 0) size += fs->fs_ncg * sizeof(int32_t); - size += fs->fs_ncg * sizeof(u_int8_t); + size += fs->fs_ncg * sizeof(uint8_t); free(fs->fs_csp, M_UFSMNT); space = malloc(size, M_UFSMNT, M_WAITOK); fs->fs_csp = space; @@ -863,7 +863,7 @@ ffs_reload(struct mount *mp, int flags) NOCRED, &bp); if (error) return (error); - bcopy(bp->b_data, space, (u_int)size); + bcopy(bp->b_data, space, (uint64_t)size); space = (char *)space + size; brelse(bp); } @@ -876,8 +876,8 @@ ffs_reload(struct mount *mp, int flags) *lp++ = fs->fs_contigsumsize; space = lp; } - size = fs->fs_ncg * sizeof(u_int8_t); - fs->fs_contigdirs = (u_int8_t *)space; + size = fs->fs_ncg * sizeof(uint8_t); + fs->fs_contigdirs = (uint8_t *)space; bzero(fs->fs_contigdirs, size); if ((flags & FFSR_UNSUSPEND) != 0) { MNT_ILOCK(mp); @@ -1034,7 +1034,7 @@ ffs_mountfs(struct vnode *odevvp, struct mount *mp, struct thread *td) * Get journal provider name. */ len = 1024; - mp->mnt_gjprovider = malloc((u_long)len, M_UFSMNT, M_WAITOK); + mp->mnt_gjprovider = malloc((uint64_t)len, M_UFSMNT, M_WAITOK); if (g_io_getattr("GJOURNAL::provider", cp, &len, mp->mnt_gjprovider) == 0) { mp->mnt_gjprovider = realloc(mp->mnt_gjprovider, len, @@ -2070,7 +2070,7 @@ ffs_fhtovp(struct mount *mp, struct fid *fhp, int flags, struct vnode **vpp) int ffs_inotovp(struct mount *mp, ino_t ino, - u_int64_t gen, *** 1043 LINES SKIPPED *** From nobody Sun Aug 6 20:36:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrns1h3sz4mNYg; Sun, 6 Aug 2023 20:36:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrns13Dlz4ZpF; Sun, 6 Aug 2023 20:36:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354177; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l4mvt7WH10DeqeD9uVOcX3TcENMJyWq80RhguiGJcqg=; b=bx7lvvF8Ci2bmiSvvs5ZPXaMZbf248LUHOov4ekrA2zMr57ZYtz5iF4ukXsBGsf16g1YNX l6ARNDxCRKZIjVZMZw5Dpar3/IHdyhU2Q0mEhcYpSS2tClI56HRZpVh0JdeSkLelul2M0R r6FSCGtTouUGnDUuNUNqbEwAK6lZF9f7nUBj1Bv8PyX87FKCuGs78oOgbrnTy560x1Zpb7 ARdh/obqTjTYf6a1a5+qzrYpB2oLPPusN/QKa5Msj4k21LDeT1I8JWaK2jWJ/Y/kNIRuGl vbZbmkjyC2Isisnnm7mJA60stnx+5R3D/MFIN5xbN42Hd6s5Kggj+bOzneoJjg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354177; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=l4mvt7WH10DeqeD9uVOcX3TcENMJyWq80RhguiGJcqg=; b=PFI12P2vObDpYYL7UVHgd/IJwxDdsi1BN8sIvj3wGCrMqen2d3jH5V9EOGJlytH+F/ZhfY D10hrbFSj8BxlUQRKIPKLUnjdA8/rWs6GuPVU/MnD6RE9dg6Y6yBww9FV3ZFeMPuhFOkoH 7M5pM/LYLczSfMj07Mdmwh9ZbR2Dz7qBj1aP8+1nB1cwxJdpbSYARVoyatXgrekJ6aq9pH 5bwSuHmJp+HEtx/ZYlM8v9X8WYi054vDTLWSm+mSUVy70/OUTf2OYs8ivCFJZc4b4hbjv0 md4pi3Fu2tBGEJJVtmIZblMfgQ4jlcYM5FOAWR+pAxvZ+Qqj79u23diXT06Clw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354177; a=rsa-sha256; cv=none; b=q/eMjTrBigjuCXcz9k2+uV6AVQY83TIkuvT5VM0CUci45bg6ZuQBIM2HF6mT3tbTWzlEeC th/xLNm51oDsf8vd863rVfLQN6oaiceT/j8QZcrzM3C78lrpqkFEveJDl6r1Re+IDCAGTL lnxsL72CoPvyW2B2YcHg4m389VoV6ds79Hly5OPt7B8ny3wTzwO1Hk3buOkjO0RX4yuiRO rLWVV8X3+gVAriacX9iiNHBmmmEJCrbQuu9YmR4B3VtOvAN8IzYpjxjd5AiVDHiBicQbUR RpcPPX/tpPbi9XQh+8FDEBg8Tzy+a08j7V5hBrOc2JrvJI5bP8wWBfevl8lI7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrns05b9z8xc; Sun, 6 Aug 2023 20:36:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaGvv042490; Sun, 6 Aug 2023 20:36:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaGWk042489; Sun, 6 Aug 2023 20:36:16 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:16 GMT Message-Id: <202308062036.376KaGWk042489@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: a00be5afa7f7 - stable/13 - Remove bt.4 man page. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a00be5afa7f7f8b68cc7db92d052343257fbfd76 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=a00be5afa7f7f8b68cc7db92d052343257fbfd76 commit a00be5afa7f7f8b68cc7db92d052343257fbfd76 Author: Cy Schubert AuthorDate: 2021-03-29 05:14:36 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 16:47:10 +0000 Remove bt.4 man page. r339568 (a1db7455b75d7557fd171a537e2d95aceb20846e) removed bt(4). This revision removes the man page (cherry picked from commit e2b247fac21e3b82f84cc56c7caf94f6ec3e78b0) --- ObsoleteFiles.inc | 3 + share/man/man4/Makefile | 1 - share/man/man4/bt.4 | 174 ------------------------------------------------ 3 files changed, 3 insertions(+), 175 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index ae28df9a3594..7f38ab9f543c 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20230806: remove bt(4) man page +OLD_FILES+=usr/share/man/man4/bt.4.gz + # 20230622: new clang import which bumps version from 15.0.7 to 16.0.1 OLD_FILES+=usr/lib/clang/15.0.7/include/__clang_cuda_builtin_vars.h OLD_FILES+=usr/lib/clang/15.0.7/include/__clang_cuda_cmath.h diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index ae3d35d7f6fa..b3b14919aa02 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -84,7 +84,6 @@ MAN= aac.4 \ bnxt.4 \ bpf.4 \ bridge.4 \ - bt.4 \ bwi.4 \ bwn.4 \ ${_bytgpio.4} \ diff --git a/share/man/man4/bt.4 b/share/man/man4/bt.4 deleted file mode 100644 index ebdebae22837..000000000000 --- a/share/man/man4/bt.4 +++ /dev/null @@ -1,174 +0,0 @@ -.\" -.\" Copyright (c) 1994 Jordan Hubbard -.\" All rights reserved. -.\" -.\" Redistribution and use in source and binary forms, with or without -.\" modification, are permitted provided that the following conditions -.\" are met: -.\" 1. Redistributions of source code must retain the above copyright -.\" notice, this list of conditions and the following disclaimer. -.\" 2. Redistributions in binary form must reproduce the above copyright -.\" notice, this list of conditions and the following disclaimer in the -.\" documentation and/or other materials provided with the distribution. -.\" 3. The name of the author may not be used to endorse or promote products -.\" derived from this software without specific prior written permission -.\" -.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR -.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES -.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. -.\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, -.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT -.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, -.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY -.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF -.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -.\" -.\" $FreeBSD$ -.\" -.Dd August 18, 2020 -.Dt BT 4 -.Os -.Sh NAME -.Nm bt -.Nd Buslogic/Mylex MultiMaster SCSI host adapter driver -.Sh SYNOPSIS -To compile this driver into the kernel, -place the following lines in your -kernel configuration file: -.Bd -ragged -offset indent -.Cd "device isa" -.Cd "device scbus" -.Cd "device bt" -.Pp -In -.Pa /boot/device.hints : -.Cd hint.bt.0.at="isa" -.Cd hint.bt.0.port="0x330" -.Ed -.Sh DEPRECATION NOTICE -This driver is scheduled for removal prior to the release of -.Fx 13.0 . -.Sh DESCRIPTION -This driver provides access to the -.Tn SCSI -bus connected to a Buslogic/Mylex MultiMaster or compatible controller: -.Bd -ragged -offset indent -MultiMaster "W" Series Host Adapters: -.Bl -column "BT-956CD " "ISA " "Commands " "Description" -.Em "Adapter" Ta Em "Bus" Ta Em "Commands" Ta Em "Description" -BT-948 PCI 192 Ultra SCSI-3 -BT-958 PCI 192 Wide Ultra SCSI-3 -BT-958D PCI 192 Wide Differential Ultra SCSI-3 -.El -.Pp -MultiMaster "C" Series Host Adapters: -.Bl -column "BT-956CD " "ISA " "Commands " "Description" -.Em "Adapter" Ta Em "Bus" Ta Em "Commands" Ta Em "Description" -BT-946C PCI 100 Fast SCSI-2 -BT-956C PCI 100 Wide Fast SCSI-2 -BT-956CD PCI 100 Wide Differential Fast SCSI-2 -BT-445C VLB 100 Fast SCSI-2 -BT-545C ISA 50 Fast SCSI-2 -BT-540CF ISA 50 Fast SCSI-2 -.El -.Pp -MultiMaster "S" Series Host Adapters: -.Bl -column "BT-956CD " "ISA " "Commands " "Description" -.Em "Adapter" Ta Em "Bus" Ta Em "Commands" Ta Em "Description" -BT-445S VLB 30 Fast SCSI-2 -BT-545S ISA 30 Fast SCSI-2 -BT-542D ISA 30 Differential Fast SCSI-2 -BT-542B ISA 30 SCSI-2 (542B revision H) -.El -.Pp -MultiMaster "A" Series Host Adapters: -.Bl -column "BT-956CD " "ISA " "Commands " "Description" -.Em "Adapter" Ta Em "Bus" Ta Em "Commands" Ta Em "Description" -BT-542B ISA 30 SCSI-2 (542B revisions A - G) -.El -.Ed -.Pp -Tagged queueing is supported on 'W' series adapters, 'C' series adapters -with firmware of rev 4.42 and higher, and 'S' series adapters with firmware -of rev 3.35 and higher. -.Pp -Boards with certain firmware revisions may lock up under heavy load to -certain devices, especially if tagged queueing is used. -Should you encounter -a problem with your adapter, contact Mylex technical support and ensure you -have the latest firmware for your controller. -.Sh HARDWARE -The -.Nm -driver supports the following BusLogic MultiMaster -.Dq W , -.Dq C , -.Dq S , -and -.Dq A -series and compatible SCSI host adapters: -.Pp -.Bl -bullet -compact -.It -BusLogic BT-445C -.It -BusLogic BT-445S -.It -BusLogic BT-540CF -.It -BusLogic BT-542B -.It -BusLogic BT-542B -.It -BusLogic BT-542D -.It -BusLogic BT-545C -.It -BusLogic BT-545S -.It -BusLogic/BusTek BT-640 -.It -BusLogic BT-946C -.It -BusLogic BT-948 -.It -BusLogic BT-956C -.It -BusLogic BT-956CD -.It -BusLogic BT-958 -.It -BusLogic BT-958D -.It -Storage Dimensions SDC3211B / SDC3211F -.El -.Sh SEE ALSO -.Xr cd 4 , -.Xr da 4 , -.Xr sa 4 , -.Xr scsi 4 -.Sh HISTORY -The -.Nm -driver first appeared in the -.Bx 386 -patch kit. -.Sh AUTHORS -.An -nosplit -.An Julian Elischer -wrote a driver for the Multimaster cards that appeared in the -.Bx 386 -patch kit. -The driver was rewritten by -.An Justin T. Gibbs -to take advantage of new board features and work with the CAM SCSI framework in -.Fx 3.0 . -.Pp -Special thanks to -.An Leonard N. Zubkoff -for writing such a complete and well documented Mylex/BusLogic MultiMaster -driver for Linux. -Support in this driver for the wide range of MultiMaster -controllers and firmware revisions, with their otherwise undocumented quirks, -would not have been possible without his efforts. From nobody Sun Aug 6 20:36:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrnt2MQWz4mNFR; Sun, 6 Aug 2023 20:36:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrnt28HCz4b9x; Sun, 6 Aug 2023 20:36:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFSdAfZVXViUoLRfwnlQD/Vm9EEhfLYluP0pWvFzEh0=; b=BAjbdkRGXlVK1wX+3umZ/iSU7/4vXugiE41hkVFyqLrtqIzWoNiKEJTSmvo9PDgXEom/O2 TTbNZgaS2AH+U6EG2LkYbUBJG0K2HFe4tMPYBDtl6HlaOOYiNobTBfLRGeERhxcomrPy60 aJ2eYR/tWNc0caJTVevyHF8Mo/FzWb24WAH1rX8KC4R4XBRgYyPnUUKouRG4tyqQdVZ8Wh Cg2l7WvdRfEjjO3ykCVlpAoZrdH/DenW7is3F/wVdacWG8aH0odbiEZ9YA0Phvb85f3hXV 6QxQmJRPpju0WTL0D3vIZhLZcjamU6l1LhmXDBAMHArX58NBuU8DhICD7kzQDQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354178; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=VFSdAfZVXViUoLRfwnlQD/Vm9EEhfLYluP0pWvFzEh0=; b=N8c7DXnSq7gzxXKOP4k8rUQrLY0y/g5WRsk4m4NRs8vzy6PVPOXya6nxR2ueZoJQkqwxo0 A2JVA1LWTzovsJnwloCmVfnnd7R6/KnJ8758+XFHK5ELjLyDTjInUeV3GG09im2CQtqCTU ThGZRN9iSnL1vhLEn410JbZ1mq4FSSnVPl9khOKCe4IxsEkDylRQfRqppvVhKi78KGM9/f PTfoMWMw1QezcBLElXKAg+XMUEvWRKtgmApM57uPQGHk/jqf2X1tc6vh46vkeGIo9HhtzS ivVWGz831B0Y9DOOfHBL3UYQT1WEJORqpDkWRh6AXpuQR6siDmIZ6vomSdsl6w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354178; a=rsa-sha256; cv=none; b=aSFoPPggzshpi7cAljxnKahBxO6YKdKfibPyC5t9CJaH1Abw3PBISA0at12IdEgzQC8mrY UUi0omHASF/WpV6CGgbAejZHNcDHOm0q1caNfpvm50pg/HZdYyrp5U8FpPTpUymXvDceYr gmA7ESDI+hCvTyzuA1VOyaCJnM+kuIOcUiFyQZqcZqhRujQQBYgZqY46sbrPQL2UX/ilU4 /OahVSzPRBMGEw9cbVvVUbFd8bf3qY4Zyd0LEJP7FbkLWUB2p/avfyQ3IhIsucXE9rq6rO SmzqDEWqIfDn2/1z3JEEg+q7aQOllD5xnwV0nvOnVLhT9fAkBgsgzqxqM0gzCA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrnt0m1Zz93b; Sun, 6 Aug 2023 20:36:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaIGe042509; Sun, 6 Aug 2023 20:36:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaIho042508; Sun, 6 Aug 2023 20:36:18 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:18 GMT Message-Id: <202308062036.376KaIho042508@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 5fb88aba6c9a - stable/13 - man: Remove obsolete meteor.4 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5fb88aba6c9aed4c105add652adc8b74b5ee977b Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=5fb88aba6c9aed4c105add652adc8b74b5ee977b commit 5fb88aba6c9aed4c105add652adc8b74b5ee977b Author: Marius Strobl AuthorDate: 2021-12-18 13:56:16 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 16:54:29 +0000 man: Remove obsolete meteor.4 The corresponding interface has been deorbited as part of daba5ace03e83a930c128ae644afd186e1fe4341. (cherry picked from commit 7ed5694dd9b9d91e6afd7442b04b602041650354) --- ObsoleteFiles.inc | 3 + share/man/man4/Makefile | 1 - share/man/man4/meteor.4 | 873 ------------------------------------------------ 3 files changed, 3 insertions(+), 874 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 7f38ab9f543c..5848dc27a5cd 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,9 @@ # xargs -n1 | sort | uniq -d; # done +# 20230806 meteor.4 removed, see also 20200301 entry below +OLD_FILES+=usr/share/man/man4/meteor.4.gz + # 20230806: remove bt(4) man page OLD_FILES+=usr/share/man/man4/bt.4.gz diff --git a/share/man/man4/Makefile b/share/man/man4/Makefile index b3b14919aa02..4fc01a6c4b1f 100644 --- a/share/man/man4/Makefile +++ b/share/man/man4/Makefile @@ -305,7 +305,6 @@ MAN= aac.4 \ mdio.4 \ me.4 \ mem.4 \ - meteor.4 \ mfi.4 \ ${_mgb.4} \ miibus.4 \ diff --git a/share/man/man4/meteor.4 b/share/man/man4/meteor.4 deleted file mode 100644 index c9381733a863..000000000000 --- a/share/man/man4/meteor.4 +++ /dev/null @@ -1,873 +0,0 @@ -.\" -.\" $FreeBSD$ -.\" -.Dd August 15, 1995 -.Dt METEOR 4 -.Os -.Sh NAME -.Nm meteor -.Nd "video capture driver interface" -.Sh DESCRIPTION -The -.Nm -driver defined a video capture interface. -The -.Nm -driver is no longer in the tree, but other devices support this interface -so the interface portion is documented here. -.Ss Meteor Capture Modes -The -.Nm -capture driver has three modes of capture operation. -.Bl -enum -.It -Conventional -.Xr read 2 -interface. -.Pp -This mode is the easiest and slowest to use. -This mode is great for -capturing a single field at little programming cost. -.Pp -In this mode, the user opens the device, sets the capture mode -and size (see: -.Dv METEORSETGEO -.Xr ioctl 2 -call), and uses the -.Xr read 2 -system -call to load the data into a buffer. -.Pp -.Pa meteor_read.c ; -read 400x300 RGB24 into a viewable PPM file -.Bd -literal -#include -#include - -extern int errno; -#define ROWS 300 -#define COLS 400 -#define SIZE (ROWS * COLS * 4) -main() -{ - struct meteor_geomet geo; - char buf[SIZE],b[4],header[16],*p; - int i,o,c; - - if ((i = open("/dev/meteor0", O_RDONLY)) < 0) { - printf("open failed: %d\\n", errno); - exit(1); - } - /* set up the capture type and size */ - geo.rows = ROWS; - geo.columns = COLS; - geo.frames = 1; - geo.oformat = METEOR_GEO_RGB24 ; - - if (ioctl(i, METEORSETGEO, &geo) < 0) { - printf("ioctl failed: %d\\n", errno); - exit(1); - } - - c = METEOR_FMT_NTSC; - - if (ioctl(i, METEORSFMT, &c) < 0) { - printf("ioctl failed: %d\\n", errno); - exit(1); - } - - c = METEOR_INPUT_DEV0; - - if (ioctl(i, METEORSINPUT, &c) < 0) { - printf("ioctl failed: %d\\n", errno); - exit(1); - } - - if ((c=read(i, &buf[0], SIZE)) < SIZE) { - printf("read failed %d %d %d\\n", c, i, errno); - close(i); - exit(1); - } - close(i); - - if ((o = open("rgb24.ppm", O_WRONLY | O_CREAT, 0644)) < 0) { - printf("ppm open failed: %d\\n", errno); - exit(1); - } - - /* make PPM header and save to file */ - strcpy(&header[0], "P6 400 300 255 "); - header[2] = header[6] = header[10] = header[14] = '\\n'; - write (o, &header[0], 15); - /* save the RGB data to PPM file */ - for (p = &buf[0]; p < &buf[SIZE]; ) { - b[2] = *p++; /* blue */ - b[1] = *p++; /* green */ - b[0] = *p++; /* red */ - *p++; /* NULL byte */ - write(o,&b[0], 3); /* not very efficient */ - } - close(o); - exit(0); -} -.Ed -.It -Memory mapped single capture or unsynchronized continuous capture. -.Pp -The single capture mode is designed for conferencing tools such as -.Nm nv . -These tools need to control the starting of the image capture and also -need several frames a second. -The continuous capture mode is designed -for applications that want free-running data. -.Pp -In this mode, the user opens the device, sets the capture mode -and size (see: -.Dv METEORSETGEO -.Xr ioctl 2 -call), -.Xr mmap 2 Ns s -the frame buffer -memory into the user process space, and issues either the -single-capture or the continuous capture call (see: -.Dv METEORCAPTUR -.Xr ioctl 2 -call) to load the data into the memory mapped buffer. -.Pp -As explained in the -.Dv METEORCAPTUR -.Xr ioctl 2 -call, the single frame capture -.Xr ioctl 2 -will block until the capture is complete, the continuous capture -will return immediately. -.Pp -.Pa meteor_mmap_single_continuous.c -.Bd -literal -#include -#include -#include -#include - -extern int errno; -#define ROWS 480 -#define COLS 640 -#define SIZE (ROWS * COLS * 2) -main() -{ - struct meteor_geomet geo; - char buf[SIZE]; - char *mmbuf; - int i,c; - - if ((i = open("/dev/meteor0", O_RDONLY)) < 0) { - printf("open failed\\n"); - exit(1); - } - - geo.rows = ROWS; - geo.columns = COLS; - geo.frames = 1; - geo.oformat = METEOR_GEO_RGB16 ; - - if (ioctl(i, METEORSETGEO, &geo) < 0) { - printf("ioctl failed: %d\\n", errno); - exit(1); - } - - c = METEOR_FMT_NTSC; - - if (ioctl(i, METEORSFMT, &c) < 0) { - printf("ioctl failed: %d\\n", errno); - exit(1); - } - - c = METEOR_INPUT_DEV0; - - if (ioctl(i, METEORSINPUT, &c) < 0) { - printf("ioctl failed: %d\\n", errno); - exit(1); - } - - mmbuf=(char *)mmap((caddr_t)0, SIZE, PROT_READ, - MAP_SHARED, i, (off_t)0); - -#ifdef SINGLE_MODE - /* single frame capture */ - c = METEOR_CAP_SINGLE ; - ioctl(i, METEORCAPTUR, &c); /* wait for the frame */ - - /* directly access the frame buffer array data in mmbuf */ -#else - /* continuous frame capture */ - c = METEOR_CAP_CONTINOUS ; - ioctl(i, METEORCAPTUR, &c); /* returns immediately */ - - /* directly access the frame buffer array data in mmbuf */ - - c = METEOR_CAP_STOP_CONT ; - ioctl(i, METEORCAPTUR, &c); /* close will also stop capture */ -#endif - - close(i); - exit(0); -} -.Ed -.It -Memory mapped, multi-frame ring buffer synchronize capture. -.Pp -This continuous capture mode is synchronized with the application that -processes up to 32 frames. -This gives the advantages of both single and -continuous capture modes. -.Pp -The kernel notifies the application of a new data by raising an -application defined signal. -The driver also shares a structure with -the application that allows them to communicate which frame has been -written by the kernel and which frame has been read by the application. -.Pp -The shared structure starts on the first page after your data. -The -structure address can be found by calculation: -.Pp -.Dl "(number_rows * number_columns * pixel_depth + 4095) & 0xfffff000" -or -.Dl "((number_rows * number_columns * pixel_depth + 4095)/4096) * 4096" -.Pp -The shared structure is of type -.Va struct meteor_mem . -The two most -important fields are called -.Va active -and -.Va num_active_buf . -.Va active -is a bitmap of frames written by the kernel. -.Va num_active_bufs -is -a count of frames marked in the -.Va active -field. -When a frame is read -in by the driver, the -.Va num_active_bufs -count is tested, if this -count is below the threshold of number of active frames (value -in -.Va meteor_mem Ns 's -.Va hiwat -variable), the bit representing frame -number in the buffer is stored in the -.Va active -variable, the -.Va num_active_bufs -is incremented, the kernel then raises the specified -signal to activate the user application. -The user application's -responsibility when getting the signal is to check the active bitmap -to determine the lowest active frame, use the data as the application -desires, clear the bitmap entry for that frame, and decrement the -.Va num_active_bufs . -If the threshold of number of active frames -.Pq Va hiwat -has been exceeded, no new frames or signal from the kernel will occur -until the -.Va num_active_bufs -is less than or equal to -.Va lowat . -.Pp -The driver loads the frames in a round-robin fashion. -It is expected -that the user removes them in the same order. -The driver does not -check to see if the frame is already active. -.Pp -The -.Va frame_size -and number of frames in the buffer are also provided -to the -.Va meteor_mem -structure, but changing these fields in the -application will not change the operation of the driver. -.Pp -In programming for this mode, the user opens the device, sets the -geometry, -.Xr mmap 2 Ns s -the data/common control structure, then starts the -continuous capture mode. -A special signal catcher is required to -process the frames as they are read by the kernel. -.Pp -When specifying the geometry (see: -.Dv METEORSETGEO -.Xr ioctl 2 -call), -it -is important that the number of frames is set greater than 1. -.Pp -.Pa skeleton_capture_n.c -.Bd -literal -#include -#include -#include -#include -#include - -int video; /* made global if you wish to stop capture in signal handler */ -caddr_t data_frames; -struct meteor_mem *common_mem; -extern int errno; - -#define FRAME_MAX - -void -usr2_catcher() -{ -#ifdef SIGNAL_STOP - struct meteor_capframe capframe; /* for ioctl */ -#endif - char *frame; - - /* find frame */ - frame = (char *) (data_frames + sig_cnt * common_mem->frame_size) ; - - /* add frame processing here */ - /* deactivate frame */ - common_mem->active &= ~(1 << (sig_cnt % 16)); - common_mem->num_active_bufs--; - - /* process next frame on next interrupt */ - sig_cnt = ((sig_cnt+1) % FRAME_MAX); - -#ifdef SIGNAL_STOP - if (some_condition_requiring_stopping) { - capframe.command=METEOR_CAP_STOP_FRAMES; - - if (ioctl(i, METEORCAPFRM, &capframe) < 0) { - printf("METEORCAPFRM failed %d\\n", errno); - exit(1); - } - } -#endif -} - -main() -{ - struct meteor_geomet geo; - int height, width, depth, frames, size; - struct meteor_capframe capframe; - - if ((i = open("/dev/meteor0", O_RDONLY)) < 0) { - printf("open failed\\n"); - exit(1); - } - printf("test %d %d\\n", errno, i); - - height = geo.rows = 120; - width= geo.columns = 320; - frames = geo.frames = FRAME_MAX; - depth = 2; /* 2 bytes per pixel for RGB*/ - - - geo.oformat = METEOR_GEO_RGB16; - - if (ioctl(i, METEORSETGEO, &geo) < 0) { - printf("METEORSETGEO failed %d\\n", errno); - exit(1); - } - - c = METEOR_FMT_NTSC; - - if (ioctl(i, METEORSFMT, &c) < 0) { - printf("ioctl failed: %d\\n", errno); - exit(1); - } - - c = METEOR_INPUT_DEV0; - - if (ioctl(i, METEORSINPUT, &c) < 0) { - printf("ioctl failed: %d\\n", errno); - exit(1); - } - - size = ((width*height*depth*frames+4095)/4096)*4096; - /* add one page after data for meteor_mem */ - data_frames = mmap((caddr_t)0, size + 4096, PROT_READ | PROT_WRITE, - MAP_SHARED, i, (off_t)0); - - if (data_frames == (caddr_t) MAP_FAILED) return (0); - - /* common_mem is located at page following data */ - common_mem = (struct meteor_mem *) (y + size); - - signal(SIGUSR2, usr2_catcher); /* catch new frame message */ - - capframe.command=METEOR_CAP_N_FRAMES; - capframe.signal=SIGUSR2; - capframe.lowat=12; /* must be < hiwat */ - capframe.hiwat=14; /* must be < FRAME_MAX */ - - /* start the sync capture */ - if (ioctl(i, METEORCAPFRM, &capframe) < 0) { - printf("METEORCAPFRM failed %d\\n", errno); - exit(1); - } - - /* this is the background working area, or you can sleep */ - - - /* to stop capture */ - capframe.command=METEOR_CAP_STOP_FRAMES; - - if (ioctl(i, METEORCAPFRM, &capframe) < 0) { - printf("METEORCAPFRM failed %d\\n", errno); - exit(1); - } -} -.Ed -.El -.Ss Meteor IOCTL Call and Parameters -The -.Nm -capture driver has -.Xr ioctl 2 -requests for capturing, reading card -status, for setting and reading the geometry, and for setting and reading the -attributes. -.Pp -.Bf -symbolic -IT IS VERY IMPORTANT TO CHECK FOR ERRORS ON THESE RETURNING IOCTLs. -.Ef -Errors indicate that something is very wrong with the -.Xr ioctl 2 -and the -application should not attempt to proceed further with capturing. -The -.Nm -capture driver still makes attempts to stop the next capture step if -an error occurred in a previous step but was ignored by the application -programmer. -.Bl -enum -.It -.Xr ioctl 2 -requests -.Dv METEORSETGEO -and -.Dv METEORGETGEO -.Pp -.Dv METEORSETGEO -and -.Dv METEORGETGEO -are used to set and read the input -size, input device, and output format for frame capture. -.Pp -These -.Xr ioctl 2 -routines use the -.Va meteor_geomet -structure that has the -following entries: -.Bl -tag -width columns -.It Va rows -number of rows (lines high) in output image -.It Va columns -number of pixels in a row (width) in output image -.It Va frames -number of frames in buffer. -Should be 1, unless using -the multi-framed synchronous capture mode -.Pq Dv METEORCAPFRM -which REQUIRES frames to be larger than 1. -.Pp -Note: if -.Va rows , columns -or -.Va frames -is not changed, then -the existing values are used. -The system defaults -is 640x480x1. -.It Va oformat -you may choose one of the following output format: -.Bl -tag -width METEOR_GEO_YUV_PACKED -.It Dv METEOR_GEO_RGB16 -(RGB 16 bits xrrrrrgg gggbbbbb default) -.It Dv METEOR_GEO_RGB24 -(RGB 24 bits packed in 32 bits: -00000000 rrrrrrrr gggggggg bbbbbbbb) -.It Dv METEOR_GEO_YUV_PACKED -(4-2-2 YUV 16 bits packed byte format: -u0 y0 v0 y1 u1 y2 v1 y3 ...) -.It Dv METEOR_GEO_YUV_PLANER -(4-2-2 YUV 16 bits planer format: -rows * columns bytes of y -rows * column / 4 bytes of even u -rows * column / 4 bytes of even v -rows * column / 4 bytes of odd u -rows * column / 4 bytes of odd v) -.El -.El -.Pp -The -.Dv METEORSETGEO -.Xr ioctl 2 -will fail if more than one entry from a category -is selected. -It is highly recommended that a -.Dv METEORSETGEO -is done -before capturing data because you cannot guarantee the initial mode -the card. -.Pp -The -.Dv METEORSETGEO -will also attempt to reallocate a new contiguous -kernel buffer if the new geometry exceeds the old geometry. -On the -other hand, if the new geometry will fit in the existing buffer, -the existing buffer is used. -.Pp -If -.Dv METEORSETGEO -fails the -.Xr ioctl 2 -will return a value of -1 and the -external variable -.Va errno -will be set to: -.Bl -tag -width Er -.It Bq Er EINVAL -invalid -.Va meteor_geomet -structure pointer, -.Va rows , columns , frames -were invalid. -.It Bq Er ENOMEM -could not allocate the contiguous block. -.El -.It -.Xr ioctl 2 -requests -.Dv METEORSFMT -and -.Dv METEORGFMT -.Pp -.Dv METEORSFMT -and -.Dv METEORGFMT -are used to set and read the camera input -standard format. -.Pp -Possible formats are: -.Pp -.Bl -tag -width METEOR_FMT_AUTOMODE -compact -.It Dv METEOR_FMT_NTSC -NTSC (default mode) -.It Dv METEOR_FMT_PAL -PAL -.It Dv METEOR_FMT_SECAM -SECAM -.It Dv METEOR_FMT_AUTOMODE -Autodetect. -.El -.It -.Xr ioctl 2 -requests -.Dv METEORSINPUT -and -.Dv METEORGINPUT -.Pp -.Dv METEORSINPUT -and -.Dv METEORGINPUT -are used to set and read the camera -input device. -Using the DB9 connector on the -.Tn Meteor -card, 4 input -devices can be connected and an input camera can be selected with this -.Xr ioctl 2 . -.Pp -Possible formats are: -.Pp -.Bl -tag -width METEOR_INPUT_DEV_SVIDEO -compact -.It Dv METEOR_INPUT_DEV0 -(default if none specified) -.It Dv METEOR_INPUT_DEV_RCA -(same as METEOR_INPUT_DEV0) -.It Dv METEOR_INPUT_DEV1 -.It Dv METEOR_INPUT_DEV2 -.It Dv METEOR_INPUT_DEV_SVIDEO -(same as METEOR_INPUT_DEV2) -.El -.It -.Xr ioctl 2 -request -.Dv METEORSTATUS -.Pp -.Dv METEORSTATUS -is used to read the status of the -.Tn Meteor -capture card -and returns the following information: -.Bl -column "METEOR_STATUS_ID_MASK" "\&" -.It Dv METEOR_STATUS_ID_MASK " 4 bit ID of the SAA7196 scaler chip." -.Pp -.It Dv METEOR_STATUS_DIR " 0 = scaler uses internal source." -.It " 1 = scaler uses external data of expansion bus." -.Pp -.It Dv METEOR_STATUS_OEF " 0 = even field detected." -.It " 1 = odd field detected." -.Pp -.It Dv METEOR_STATUS_SVP " VRAM Port state:" -.It " 0 = inputs HFL and INCADDR inactive." -.It " 1 = inputs HFL and INCADDR active." -.Pp -.It Dv METEOR_STATUS_STTC " 0 = TV horizontal time constant (slow)." -.It " 1 = VCR horizontal time constant (fast)." -.Pp -.It Dv METEOR_STATUS_HCLK " 0 = Horizontal Phase Lock Loop locked." -.It " 1 = Horizontal Phase Lock Loop unlocked." -.Pp -.It Dv METEOR_STATUS_FIDT " 0 = 50 Hz Field detected." -.It " 1 = 60 Hz Field detected." -.Pp -.It Dv METEOR_STATUS_ALTD " 0 = no line alternating color burst detected." -.It " 1 = line alternating color burst detected (PAL/SECAM)." -.Pp -.It Dv METEOR_STATUS_CODE " 0 = no color information detected." -.It " 1 = color information detected." -.El -.It -.Xr ioctl 2 -request -.Dv METEORCAPTUR -.Pp -.Dv METEORCAPTUR -is used to single frame capture or unsynchronized -continuous capture. -.Pp -The single frame capture -.Xr ioctl 2 -request will return only after a -frame has been captured and transferred to the frame buffer. -.Pp -The unsynchronized continuous capture will return immediately and -data is directly deposited into the buffer when it is available. -Since this is unsynchronized, it is possible the data is being -written by the kernel while being read by the application. -.Pp -These -.Xr ioctl 2 -routines use the following settings: -.Pp -.Bl -tag -width METEOR_CAP_CONTINOUS -compact -.It Dv METEOR_CAP_SINGLE -capture one frame -.It Dv METEOR_CAP_CONTINOUS -unsynchronized continuous capture -.It Dv METEOR_CAP_STOP_CONT -stop the unsynchronized continuous -capture -.El -.Pp -If -.Dv METEORCAPTUR -fails the -.Xr ioctl 2 -will return a value of -1 and the -external variable -.Va errno -will be set to: -.Bl -tag -width Er -.It Bq Er EINVAL -invalid capture command value -.It Bq Er ENXIO -there is not internal buffer to hold the frame. -This indicates the previous set geometry -.Xr ioctl 2 -failed. -.It Bq Er EIO -card is already capturing. -.El -.It -.Xr ioctl 2 -request -.Dv METEORCAPFRM -.Pp -.Dv METEORCAPFRM -is used for synchronous capture of multiple frames. -.Pp -This -.Xr ioctl 2 -routine uses the -.Va meteor_capture -structure that has the -following entries: -.Bl -tag -width command -.It Va command -possible values for -.Va command -are: -.Bl -tag -width METEOR_CAP_STOP_FRAMES -.It Dv METEOR_CAP_STOP_FRAMES -stop the capture; does not use the -other variable in structure. -.It Dv METEOR_CAP_N_FRAMES -start the capture using the other -variables in the structure as inputs -.El -.It Va signal -signal to send to application when a new -frame has been captured. -This signal will -only be raised if the captured frame is saved. -.It Va lowat -see below -.It Va hiwat -see below -.El -.Pp -When a new frame is completed, the driver checks the current unread -frame count stored in shared variable (the shared variable is stored -in the -.Va meteor_mem -structure) -.Va num_active_buf ; -if the count is larger -than -.Va hiwat , -the driver will not store any new frames and will not -send capture signal to the user application until the -.Va num_active_buf -is lower than -.Va lowat . -.Pp -If -.Dv METEORCAPFRM -fails the -.Xr ioctl 2 -will return a value of -1 and the -external variable -.Va errno -will be set to: -.Bl -tag -width Er -.It Bq Er EINVAL -invalid meteor_geomet structure pointer or bad command. -.It Bq Er ENXIO -there is not internal buffer to hold the frame. -This indicates the previous set geometry -.Xr ioctl 2 -failed. -.It Bq Er EIO -card is already capturing. -.El -.It -.Xr ioctl 2 -requests -.Dv METEORSCHCV -and -.Dv METEORGCHCV -.Pp -.Dv METEORSCHCV -and -.Dv METEORGCHCV -are used to set and get the chrominance -gain control and effects the UV output amplitude. -.Pp -If -.Dv METEORSCHCV -or -.Dv METEORGCHCV -fails the -.Xr ioctl 2 -will return a value -of -1 and the external variable -.Va errno -will be set to: -.Bl -tag -width Er -.It Bq Er EINVAL -invalid unsigned char pointer. -.El -.It -.Xr ioctl 2 -requests -.Dv METEORGHUE -and -.Dv METEORSHUE -.Pp -.Dv METEORGHUE -and -.Dv METEORSHUE -are used to get and set the hue. -The -signed character has legal values are from +127 which represent -+178.6 degrees to -128 which represents -180 degrees. -.Pp -If -.Dv METEORGHUE -or -.Dv METEORSHUE -fails the -.Xr ioctl 2 -will return a value of --1 and the external variable -.Va errno -will be set to: -.Bl -tag -width Er -.It Bq Er EINVAL -invalid signed char pointer. -.El -.It -.Xr ioctl 2 -requests -.Dv METEORSCOUNT -and -.Dv METEORGCOUNT -.Pp -.Dv METEORGCOUNT -is used to get the count of frame errors, DMA errors and -count of the number of frames captured that have occurred since -the device was opened. -.Dv METEORSCOUNT -can be used to reinitialize the -counters. -.Pp -This -.Xr ioctl 2 -routines use the -.Va meteor_counts -structure that has the -following entries: -.Bl -tag -width frame_count -.It Va fifo_errors -number of FIFO errors since device was opened. -.It Va dma_errors -number of DMA errors since device was opened. -.It Va frame_count -number of frames captured since device was opened. -.El -.Pp -If -.Dv METEORSCOUNT -or -.Dv METEORGCOUNT -fails the -.Xr ioctl 2 -will return a value -of -1 and the external variable -.Va errno -will be set to: -.Bl -tag -width Er -.It Bq Er EINVAL -invalid meteor_counts structure pointer. -.El -.El -.Sh AUTHORS -.An Jim Lowe Aq Mt james@miller.cs.uwm.edu -.An Mark Tinguely Aq Mt tinguely@plains.nodak.edu -.Sh BUGS -The -.Nm -driver no longer works at all. From nobody Sun Aug 6 20:36:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrnv3QMBz4mNFT; Sun, 6 Aug 2023 20:36:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrnv2sT3z4bBQ; Sun, 6 Aug 2023 20:36:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J6TY10t1kdCB3p5PIxMGPBgrzfq8ApEhOV95eCrgHBg=; b=ac+P4s0C2OVyvB0vPaJQXKazlHdOEau0d4YyY9Sk4Sy35k9rOsHroQ6Wu9z/pprS5RiwX/ 8GQ8nKh//qNGQrnu4TweAU4HBAStrRrSwRCR0cWsSZO4P93lE8WBjJgzwC+36OS/nNoBsE Ngfn/BIOCE5wzfdlamlivjZdjHGS+jQLzXWkbMBJf4HVgH82GliesBLowwLoJleIo8TsMP PR5oOe4BpvGkW+/3afPiS53iQ2Am5dJ6r0Tux+TDeU3uJ11wy3D+nH6Cf90EF0wQcUD6/T EFxAkukvXLYP2eKcy3Lci+KUdQnd/Kqk9kraz+zYQ0a0sJtkXcWDZwOdtlrLIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354179; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=J6TY10t1kdCB3p5PIxMGPBgrzfq8ApEhOV95eCrgHBg=; b=LbYPK0HAOj1ipg2TpEaWOWehbCCGkS0aVgsoPurwvi7oqS6YvWmB7XB2Dz1DTZu/e6rxoW LfBTg/Ct/pRerfrP7yK385P9jEOomeLizKzVRot77sb3psjk/YQQxqwCL62oaKbSYkR2WD QD/LtcJ8MRFg5fD6D4V5pAlZqtNGoME5aZh5iczUEg9PZPP8fOKKkW+Fx9u0dt/2CCuyO7 4iDdnlSwDmmlp/GwzvK95fcb3METa0a0eM/OZ+7cQ2ybgKeb9OPXqhVM35/vVxvo0wv3iS WswIQ6kl4YolLOVS8aop97a2Wvc4+OHrTwIQOrrEh6Ti2zvx0lHpya3K8CwElA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354179; a=rsa-sha256; cv=none; b=X0ZB9YfF0S+tEYLUu0H49mFEu+IeotEmjvraOau+DahS8nCZlQBlFbvWJKcVLXafVGWdTQ onr+oSe4AGZNLzLzatDP35IqMOsr170Dlm2t/UgOjn7Vc1zBpYvqHnbljVcQkgnuHiTULG 3UQHegKO7ct/onBngd0vxwWK5rOHEqoDbdDr7/T3FoM+R6P4hAnIMgeTLd9aeh6u8irXRm gJ1Eru4NeOexiriuUj4qJMS+GnXU0h+jjkHyeiTVv50uYOQKX/KAMjb5+UJ3ovx4tVRsw6 owSPx19yeMJC/IFtBHmgKFbjZCAX8qTvfyNHw/0OUEveOBYpDqTDrApoxoRQsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrnv1hvBz8mW; Sun, 6 Aug 2023 20:36:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaJOw042528; Sun, 6 Aug 2023 20:36:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaJPc042527; Sun, 6 Aug 2023 20:36:19 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:19 GMT Message-Id: <202308062036.376KaJPc042527@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: a6222e182c74 - stable/13 - mmc(4): Don't call bridge driver for timings not requiring tuning List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a6222e182c7464903f60f288b7784a31d702ce8c Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=a6222e182c7464903f60f288b7784a31d702ce8c commit a6222e182c7464903f60f288b7784a31d702ce8c Author: Marius Strobl AuthorDate: 2023-04-12 21:46:02 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:03:45 +0000 mmc(4): Don't call bridge driver for timings not requiring tuning The original idea behind calling into the bridge driver was to have the logic deciding whether tuning is actually required for a particular bus timing in a given slot as well as doing the sanity checking only on the controller layer which also generally is better suited for these due to say SDHCI_SDR50_NEEDS_TUNING. On another thought, not every such driver should need to check whether tuning is required at all, though, and not everything is SDHCI in the first place. Adjust sdhci(4) accordingly keeping sdhci_generic_tune() a bit cautious still. (cherry picked from commit bd15d31cef50060d90356384ba7b878d398fc9f3) --- sys/dev/mmc/mmc.c | 9 +++++++++ sys/dev/sdhci/sdhci.c | 6 ++++-- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/sys/dev/mmc/mmc.c b/sys/dev/mmc/mmc.c index 4e4e3507a1f8..e725cd1c66cb 100644 --- a/sys/dev/mmc/mmc.c +++ b/sys/dev/mmc/mmc.c @@ -2243,6 +2243,15 @@ clock: mmcbr_set_clock(dev, max_dtr); mmcbr_update_ios(dev); + /* + * Don't call into the bridge driver for timings definitely + * not requiring tuning. Note that it's up to the upper + * layer to actually execute tuning otherwise. + */ + if (timing <= bus_timing_uhs_sdr25 || + timing == bus_timing_mmc_ddr52) + goto power_class; + if (mmcbr_tune(dev, hs400) != 0) { device_printf(dev, "Card at relative address %d " "failed to execute initial tuning\n", rca); diff --git a/sys/dev/sdhci/sdhci.c b/sys/dev/sdhci/sdhci.c index 6094e49f2cfa..8ea016093686 100644 --- a/sys/dev/sdhci/sdhci.c +++ b/sys/dev/sdhci/sdhci.c @@ -1373,10 +1373,12 @@ sdhci_generic_tune(device_t brdev __unused, device_t reqdev, bool hs400) case bus_timing_uhs_sdr50: if (slot->opt & SDHCI_SDR50_NEEDS_TUNING) break; - /* FALLTHROUGH */ - default: SDHCI_UNLOCK(slot); return (0); + default: + slot_printf(slot, "Tuning requested but not required.\n"); + SDHCI_UNLOCK(slot); + return (EINVAL); } tune_cmd = slot->tune_cmd; From nobody Sun Aug 6 20:36:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrnw4F06z4mNYr; Sun, 6 Aug 2023 20:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrnw3g7hz4bMv; Sun, 6 Aug 2023 20:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DgH9T53tYn1dwYML51eE3z5mPOgU06gee+dsidsilPM=; b=yHIh/+1Et5804Q1+hOyhtgGQBtVEmPTufJKSXXi3/UrEdBqItzXC918Ensv3aoo+eFGuf3 npo+ji7qDUANmfEB2gzUL43jHyqqQ27W/YPO8dfxRMjusC1d4Y+GY8sibF1os8tR0E+IcR qppaIuBq1C9x718nsIbDE6SLgUbNhK9WL/SJTnnPA5K71S0drs84WVm7FtrLBxO7NoWsOY 9pZYJmZZS1BGhym3fUTeCqhJdHUTMLkNtC+F8beaZnH7uy8g74ZxsOSmGBdmi5hzZXFihp VVz4aK2NWc4bPeDQGP4GavmbhdVZeSdmzvfns3LGvoyEy4wvds9pIoJRReGwSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354180; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DgH9T53tYn1dwYML51eE3z5mPOgU06gee+dsidsilPM=; b=fcawmrvWpDTJvmc6Xv+q/pYi3eK5ew1T4oi6tIqULFdmjasnIuuNqmGfWJlMbi1FjqRLzg jGT4ViG2kUChqlJ/6hwXt7s6GjT7Z4y+ga0pqwd0bxKkQvbeTdL5es2JB5Nd3nZHiXL9UG p4Z/3G5x+tUazb2Acg9NYpcJA/6LZQ9f9aGVzaEPSRH9QQ8YK8A2rWMvCtZtZyVMhSp9Au dWFDrMtN3VqB4tIysGRATzwzxGj0wIDU7ASTGgUuJLtP4xW+H4ZsVmPdKniKXsrv6qrtGw C31hx3TUgJObBx19Xy/aNCbaeyovApwIR1HSryTrqOJ17vSCGMCJ1JmeFtY7kw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354180; a=rsa-sha256; cv=none; b=MRYWeuXUIuB7cD7leKOk7Nx/Li0FQzlyy7H3IyT15+tJCgAWsg2eVKRroSLB1qQT83mW9d IpFwM4O2eYXCnb7LMJLy4azWDzO+Ze2qUiV4mq/KTmEnJUoXY26pVN1Bo4MxTEQt9HkIUP LevD55qjeonRWQc7/6zARF5vIEHVoPqMyeJZY30QmjyuLDViiJ/yKf/VG6juVr6Z7fr9om Ffm0LLyOA/TQS8RPe4fmj4ZhGrjCA52+7pYiSuD+hn7PuYkdcTDv3k6+MF8DbguPYdOIAX 0cK+WkNcXBM5WSlEaGsUkpHxAiiEYdei2TqtlhBd0aPL90rEz7PJ+aqowZS6FQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrnw2Fcgz91C; Sun, 6 Aug 2023 20:36:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaKWX042547; Sun, 6 Aug 2023 20:36:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaKxS042546; Sun, 6 Aug 2023 20:36:20 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:20 GMT Message-Id: <202308062036.376KaKxS042546@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 4ebb0ab53543 - stable/13 - gem(4): Remove onboard-only Sun ERI and remnants of SBus support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4ebb0ab53543864a77d60eee27fde3f47e88693f Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=4ebb0ab53543864a77d60eee27fde3f47e88693f commit 4ebb0ab53543864a77d60eee27fde3f47e88693f Author: Marius Strobl AuthorDate: 2023-04-18 16:39:38 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:10:18 +0000 gem(4): Remove onboard-only Sun ERI and remnants of SBus support These bits are obsolete since 58aa35d42975c298ca0adba705c042596303c9f5. This change reverts part of 9ba2b298dfda78b6669281507b314a4c441cd706 as well as effectively bd3d9826d73b780d349c53ee373060bc7b8d0581, i. e. the SBus-related modifications. This also gets rid of a nasty hack required as bus_{read,write}_N(9) doesn't really fit bus_space_subregion(9). (cherry picked from commit 8defc88c1345f4c048a05e6f20f60ed59d204129) --- share/man/man4/gem.4 | 9 +- sys/dev/gem/if_gem.c | 451 ++++++++++++++++++++++------------------------- sys/dev/gem/if_gem_pci.c | 50 +----- sys/dev/gem/if_gemreg.h | 51 +----- sys/dev/gem/if_gemvar.h | 102 +++++------ 5 files changed, 266 insertions(+), 397 deletions(-) diff --git a/share/man/man4/gem.4 b/share/man/man4/gem.4 index 9224920c07dc..90667c19cc4f 100644 --- a/share/man/man4/gem.4 +++ b/share/man/man4/gem.4 @@ -26,12 +26,12 @@ .\" .\" $FreeBSD$ .\" -.Dd December 26, 2020 +.Dd April 18, 2023 .Dt GEM 4 .Os .Sh NAME .Nm gem -.Nd ERI/GEM/GMAC Ethernet device driver +.Nd GEM/GMAC Ethernet device driver .Sh SYNOPSIS To compile this driver into the kernel, place the following lines in your @@ -51,8 +51,7 @@ if_gem_load="YES" The .Nm driver provides support for the GMAC Ethernet hardware found mostly in -the last Apple PowerBooks G3s and most G4-based Apple hardware, as -well as Sun UltraSPARC machines. +the last Apple PowerBooks G3s and most G4-based Apple hardware. .Pp All controllers supported by the .Nm @@ -69,8 +68,6 @@ driver include: .It Apple GMAC .It -Sun ERI 10/100 Mbps Ethernet -.It Sun GEM Gigabit Ethernet .El .Pp diff --git a/sys/dev/gem/if_gem.c b/sys/dev/gem/if_gem.c index c9a7ef04fbfa..02b14f0cca52 100644 --- a/sys/dev/gem/if_gem.c +++ b/sys/dev/gem/if_gem.c @@ -99,8 +99,8 @@ CTASSERT(powerof2(GEM_NTXDESC) && GEM_NTXDESC >= 32 && GEM_NTXDESC <= 8192); #define GEM_CSUM_FEATURES (CSUM_TCP) static int gem_add_rxbuf(struct gem_softc *sc, int idx); -static int gem_bitwait(struct gem_softc *sc, u_int bank, bus_addr_t r, - uint32_t clr, uint32_t set); +static int gem_bitwait(struct gem_softc *sc, bus_addr_t r, uint32_t clr, + uint32_t set); static void gem_cddma_callback(void *xsc, bus_dma_segment_t *segs, int nsegs, int error); static int gem_disable_rx(struct gem_softc *sc); @@ -142,11 +142,6 @@ MODULE_DEPEND(gem, miibus, 1, 1, 1); #define KTR_GEM KTR_SPARE2 #endif -#define GEM_BANK1_BITWAIT(sc, r, clr, set) \ - gem_bitwait((sc), GEM_RES_BANK1, (r), (clr), (set)) -#define GEM_BANK2_BITWAIT(sc, r, clr, set) \ - gem_bitwait((sc), GEM_RES_BANK2, (r), (clr), (set)) - int gem_attach(struct gem_softc *sc) { @@ -275,13 +270,9 @@ gem_attach(struct gem_softc *sc) if ((sc->sc_flags & GEM_SERDES) != 0) goto serdes; - /* Bad things will happen when touching this register on ERI. */ - if (sc->sc_variant != GEM_SUN_ERI) { - GEM_BANK1_WRITE_4(sc, GEM_MII_DATAPATH_MODE, - GEM_MII_DATAPATH_MII); - GEM_BANK1_BARRIER(sc, GEM_MII_DATAPATH_MODE, 4, - BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - } + GEM_WRITE_4(sc, GEM_MII_DATAPATH_MODE, GEM_MII_DATAPATH_MII); + GEM_BARRIER(sc, GEM_MII_DATAPATH_MODE, 4, + BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); gem_mifinit(sc); @@ -289,23 +280,15 @@ gem_attach(struct gem_softc *sc) * Look for an external PHY. */ error = ENXIO; - v = GEM_BANK1_READ_4(sc, GEM_MIF_CONFIG); + v = GEM_READ_4(sc, GEM_MIF_CONFIG); if ((v & GEM_MIF_CONFIG_MDI1) != 0) { v |= GEM_MIF_CONFIG_PHY_SEL; - GEM_BANK1_WRITE_4(sc, GEM_MIF_CONFIG, v); - GEM_BANK1_BARRIER(sc, GEM_MIF_CONFIG, 4, + GEM_WRITE_4(sc, GEM_MIF_CONFIG, v); + GEM_BARRIER(sc, GEM_MIF_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - switch (sc->sc_variant) { - case GEM_SUN_ERI: - phy = GEM_PHYAD_EXTERNAL; - break; - default: - phy = MII_PHY_ANY; - break; - } error = mii_attach(sc->sc_dev, &sc->sc_miibus, ifp, - gem_mediachange, gem_mediastatus, BMSR_DEFCAPMASK, phy, - MII_OFFSET_ANY, MIIF_DOPAUSE); + gem_mediachange, gem_mediastatus, BMSR_DEFCAPMASK, + MII_PHY_ANY, MII_OFFSET_ANY, MIIF_DOPAUSE); } /* @@ -316,11 +299,10 @@ gem_attach(struct gem_softc *sc) if (error != 0 && ((v & GEM_MIF_CONFIG_MDI0) != 0 || GEM_IS_APPLE(sc))) { v &= ~GEM_MIF_CONFIG_PHY_SEL; - GEM_BANK1_WRITE_4(sc, GEM_MIF_CONFIG, v); - GEM_BANK1_BARRIER(sc, GEM_MIF_CONFIG, 4, + GEM_WRITE_4(sc, GEM_MIF_CONFIG, v); + GEM_BARRIER(sc, GEM_MIF_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); switch (sc->sc_variant) { - case GEM_SUN_ERI: case GEM_APPLE_K2_GMAC: phy = GEM_PHYAD_INTERNAL; break; @@ -341,16 +323,16 @@ gem_attach(struct gem_softc *sc) */ if (error != 0 && sc->sc_variant == GEM_SUN_GEM) { serdes: - GEM_BANK1_WRITE_4(sc, GEM_MII_DATAPATH_MODE, + GEM_WRITE_4(sc, GEM_MII_DATAPATH_MODE, GEM_MII_DATAPATH_SERDES); - GEM_BANK1_BARRIER(sc, GEM_MII_DATAPATH_MODE, 4, + GEM_BARRIER(sc, GEM_MII_DATAPATH_MODE, 4, BUS_SPACE_BARRIER_WRITE); - GEM_BANK1_WRITE_4(sc, GEM_MII_SLINK_CONTROL, + GEM_WRITE_4(sc, GEM_MII_SLINK_CONTROL, GEM_MII_SLINK_LOOPBACK | GEM_MII_SLINK_EN_SYNC_D); - GEM_BANK1_BARRIER(sc, GEM_MII_SLINK_CONTROL, 4, + GEM_BARRIER(sc, GEM_MII_SLINK_CONTROL, 4, BUS_SPACE_BARRIER_WRITE); - GEM_BANK1_WRITE_4(sc, GEM_MII_CONFIG, GEM_MII_CONFIG_ENABLE); - GEM_BANK1_BARRIER(sc, GEM_MII_CONFIG, 4, + GEM_WRITE_4(sc, GEM_MII_CONFIG, GEM_MII_CONFIG_ENABLE); + GEM_BARRIER(sc, GEM_MII_CONFIG, 4, BUS_SPACE_BARRIER_WRITE); sc->sc_flags |= GEM_SERDES; error = mii_attach(sc->sc_dev, &sc->sc_miibus, ifp, @@ -371,10 +353,10 @@ gem_attach(struct gem_softc *sc) /* Get RX FIFO size. */ sc->sc_rxfifosize = 64 * - GEM_BANK1_READ_4(sc, GEM_RX_FIFO_SIZE); + GEM_READ_4(sc, GEM_RX_FIFO_SIZE); /* Get TX FIFO size. */ - v = GEM_BANK1_READ_4(sc, GEM_TX_FIFO_SIZE); + v = GEM_READ_4(sc, GEM_TX_FIFO_SIZE); device_printf(sc->sc_dev, "%ukB RX FIFO, %ukB TX FIFO\n", sc->sc_rxfifosize / 1024, v / 16); @@ -571,29 +553,29 @@ gem_tick(void *arg) * Unload collision and error counters. */ if_inc_counter(ifp, IFCOUNTER_COLLISIONS, - GEM_BANK1_READ_4(sc, GEM_MAC_NORM_COLL_CNT) + - GEM_BANK1_READ_4(sc, GEM_MAC_FIRST_COLL_CNT)); - v = GEM_BANK1_READ_4(sc, GEM_MAC_EXCESS_COLL_CNT) + - GEM_BANK1_READ_4(sc, GEM_MAC_LATE_COLL_CNT); + GEM_READ_4(sc, GEM_MAC_NORM_COLL_CNT) + + GEM_READ_4(sc, GEM_MAC_FIRST_COLL_CNT)); + v = GEM_READ_4(sc, GEM_MAC_EXCESS_COLL_CNT) + + GEM_READ_4(sc, GEM_MAC_LATE_COLL_CNT); if_inc_counter(ifp, IFCOUNTER_COLLISIONS, v); if_inc_counter(ifp, IFCOUNTER_OERRORS, v); if_inc_counter(ifp, IFCOUNTER_IERRORS, - GEM_BANK1_READ_4(sc, GEM_MAC_RX_LEN_ERR_CNT) + - GEM_BANK1_READ_4(sc, GEM_MAC_RX_ALIGN_ERR) + - GEM_BANK1_READ_4(sc, GEM_MAC_RX_CRC_ERR_CNT) + - GEM_BANK1_READ_4(sc, GEM_MAC_RX_CODE_VIOL)); + GEM_READ_4(sc, GEM_MAC_RX_LEN_ERR_CNT) + + GEM_READ_4(sc, GEM_MAC_RX_ALIGN_ERR) + + GEM_READ_4(sc, GEM_MAC_RX_CRC_ERR_CNT) + + GEM_READ_4(sc, GEM_MAC_RX_CODE_VIOL)); /* * Then clear the hardware counters. */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_NORM_COLL_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_FIRST_COLL_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_EXCESS_COLL_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_LATE_COLL_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_LEN_ERR_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_ALIGN_ERR, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CRC_ERR_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CODE_VIOL, 0); + GEM_WRITE_4(sc, GEM_MAC_NORM_COLL_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_FIRST_COLL_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_EXCESS_COLL_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_LATE_COLL_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_RX_LEN_ERR_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_RX_ALIGN_ERR, 0); + GEM_WRITE_4(sc, GEM_MAC_RX_CRC_ERR_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_RX_CODE_VIOL, 0); mii_tick(sc->sc_mii); @@ -604,14 +586,13 @@ gem_tick(void *arg) } static int -gem_bitwait(struct gem_softc *sc, u_int bank, bus_addr_t r, uint32_t clr, - uint32_t set) +gem_bitwait(struct gem_softc *sc, bus_addr_t r, uint32_t clr, uint32_t set) { int i; uint32_t reg; for (i = GEM_TRIES; i--; DELAY(100)) { - reg = GEM_BANKN_READ_M(bank, 4, sc, r); + reg = GEM_READ_4(sc, r); if ((reg & clr) == 0 && (reg & set) == set) return (1); } @@ -629,12 +610,10 @@ gem_reset(struct gem_softc *sc) gem_reset_tx(sc); /* Do a full reset. */ - GEM_BANK2_WRITE_4(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX | - (sc->sc_variant == GEM_SUN_ERI ? GEM_ERI_CACHE_LINE_SIZE << - GEM_RESET_CLSZ_SHFT : 0)); - GEM_BANK2_BARRIER(sc, GEM_RESET, 4, + GEM_WRITE_4(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX); + GEM_BARRIER(sc, GEM_RESET, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK2_BITWAIT(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX, 0)) + if (!gem_bitwait(sc, GEM_RESET, GEM_RESET_RX | GEM_RESET_TX, 0)) device_printf(sc->sc_dev, "cannot reset device\n"); } @@ -711,31 +690,29 @@ gem_reset_rx(struct gem_softc *sc) * disable DMA first. */ (void)gem_disable_rx(sc); - GEM_BANK1_WRITE_4(sc, GEM_RX_CONFIG, 0); - GEM_BANK1_BARRIER(sc, GEM_RX_CONFIG, 4, + GEM_WRITE_4(sc, GEM_RX_CONFIG, 0); + GEM_BARRIER(sc, GEM_RX_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK1_BITWAIT(sc, GEM_RX_CONFIG, GEM_RX_CONFIG_RXDMA_EN, 0)) + if (!gem_bitwait(sc, GEM_RX_CONFIG, GEM_RX_CONFIG_RXDMA_EN, 0)) device_printf(sc->sc_dev, "cannot disable RX DMA\n"); /* Wait 5ms extra. */ DELAY(5000); /* Reset the ERX. */ - GEM_BANK2_WRITE_4(sc, GEM_RESET, GEM_RESET_RX | - (sc->sc_variant == GEM_SUN_ERI ? GEM_ERI_CACHE_LINE_SIZE << - GEM_RESET_CLSZ_SHFT : 0)); - GEM_BANK2_BARRIER(sc, GEM_RESET, 4, + GEM_WRITE_4(sc, GEM_RESET, GEM_RESET_RX); + GEM_BARRIER(sc, GEM_RESET, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK2_BITWAIT(sc, GEM_RESET, GEM_RESET_RX, 0)) { + if (!gem_bitwait(sc, GEM_RESET, GEM_RESET_RX, 0)) { device_printf(sc->sc_dev, "cannot reset receiver\n"); return (1); } /* Finally, reset RX MAC. */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_RXRESET, 1); - GEM_BANK1_BARRIER(sc, GEM_MAC_RXRESET, 4, + GEM_WRITE_4(sc, GEM_MAC_RXRESET, 1); + GEM_BARRIER(sc, GEM_MAC_RXRESET, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK1_BITWAIT(sc, GEM_MAC_RXRESET, 1, 0)) { + if (!gem_bitwait(sc, GEM_MAC_RXRESET, 1, 0)) { device_printf(sc->sc_dev, "cannot reset RX MAC\n"); return (1); } @@ -766,25 +743,24 @@ gem_reset_rxdma(struct gem_softc *sc) GEM_CDSYNC(sc, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); /* NOTE: we use only 32-bit DMA addresses here. */ - GEM_BANK1_WRITE_4(sc, GEM_RX_RING_PTR_HI, 0); - GEM_BANK1_WRITE_4(sc, GEM_RX_RING_PTR_LO, GEM_CDRXADDR(sc, 0)); - GEM_BANK1_WRITE_4(sc, GEM_RX_KICK, GEM_NRXDESC - 4); - GEM_BANK1_WRITE_4(sc, GEM_RX_CONFIG, + GEM_WRITE_4(sc, GEM_RX_RING_PTR_HI, 0); + GEM_WRITE_4(sc, GEM_RX_RING_PTR_LO, GEM_CDRXADDR(sc, 0)); + GEM_WRITE_4(sc, GEM_RX_KICK, GEM_NRXDESC - 4); + GEM_WRITE_4(sc, GEM_RX_CONFIG, gem_ringsize(GEM_NRXDESC /* XXX */) | ((ETHER_HDR_LEN + sizeof(struct ip)) << GEM_RX_CONFIG_CXM_START_SHFT) | (GEM_THRSH_1024 << GEM_RX_CONFIG_FIFO_THRS_SHIFT) | (ETHER_ALIGN << GEM_RX_CONFIG_FBOFF_SHFT)); - /* Adjusting for the SBus clock probably isn't worth the fuzz. */ - GEM_BANK1_WRITE_4(sc, GEM_RX_BLANKING, + GEM_WRITE_4(sc, GEM_RX_BLANKING, ((6 * (sc->sc_flags & GEM_PCI66) != 0 ? 2 : 1) << GEM_RX_BLANKING_TIME_SHIFT) | 6); - GEM_BANK1_WRITE_4(sc, GEM_RX_PAUSE_THRESH, + GEM_WRITE_4(sc, GEM_RX_PAUSE_THRESH, (3 * sc->sc_rxfifosize / 256) | ((sc->sc_rxfifosize / 256) << 12)); - GEM_BANK1_WRITE_4(sc, GEM_RX_CONFIG, - GEM_BANK1_READ_4(sc, GEM_RX_CONFIG) | GEM_RX_CONFIG_RXDMA_EN); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_MASK, + GEM_WRITE_4(sc, GEM_RX_CONFIG, + GEM_READ_4(sc, GEM_RX_CONFIG) | GEM_RX_CONFIG_RXDMA_EN); + GEM_WRITE_4(sc, GEM_MAC_RX_MASK, GEM_MAC_RX_DONE | GEM_MAC_RX_FRAME_CNT); /* * Clear the RX filter and reprogram it. This will also set the @@ -802,22 +778,20 @@ gem_reset_tx(struct gem_softc *sc) * disable DMA first. */ (void)gem_disable_tx(sc); - GEM_BANK1_WRITE_4(sc, GEM_TX_CONFIG, 0); - GEM_BANK1_BARRIER(sc, GEM_TX_CONFIG, 4, + GEM_WRITE_4(sc, GEM_TX_CONFIG, 0); + GEM_BARRIER(sc, GEM_TX_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK1_BITWAIT(sc, GEM_TX_CONFIG, GEM_TX_CONFIG_TXDMA_EN, 0)) + if (!gem_bitwait(sc, GEM_TX_CONFIG, GEM_TX_CONFIG_TXDMA_EN, 0)) device_printf(sc->sc_dev, "cannot disable TX DMA\n"); /* Wait 5ms extra. */ DELAY(5000); /* Finally, reset the ETX. */ - GEM_BANK2_WRITE_4(sc, GEM_RESET, GEM_RESET_TX | - (sc->sc_variant == GEM_SUN_ERI ? GEM_ERI_CACHE_LINE_SIZE << - GEM_RESET_CLSZ_SHFT : 0)); - GEM_BANK2_BARRIER(sc, GEM_RESET, 4, + GEM_WRITE_4(sc, GEM_RESET, GEM_RESET_TX); + GEM_BARRIER(sc, GEM_RESET, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK2_BITWAIT(sc, GEM_RESET, GEM_RESET_TX, 0)) { + if (!gem_bitwait(sc, GEM_RESET, GEM_RESET_TX, 0)) { device_printf(sc->sc_dev, "cannot reset transmitter\n"); return (1); } @@ -828,11 +802,11 @@ static int gem_disable_rx(struct gem_softc *sc) { - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, - GEM_BANK1_READ_4(sc, GEM_MAC_RX_CONFIG) & ~GEM_MAC_RX_ENABLE); - GEM_BANK1_BARRIER(sc, GEM_MAC_RX_CONFIG, 4, + GEM_WRITE_4(sc, GEM_MAC_RX_CONFIG, + GEM_READ_4(sc, GEM_MAC_RX_CONFIG) & ~GEM_MAC_RX_ENABLE); + GEM_BARRIER(sc, GEM_MAC_RX_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (GEM_BANK1_BITWAIT(sc, GEM_MAC_RX_CONFIG, GEM_MAC_RX_ENABLE, 0)) + if (gem_bitwait(sc, GEM_MAC_RX_CONFIG, GEM_MAC_RX_ENABLE, 0)) return (1); device_printf(sc->sc_dev, "cannot disable RX MAC\n"); return (0); @@ -842,11 +816,11 @@ static int gem_disable_tx(struct gem_softc *sc) { - GEM_BANK1_WRITE_4(sc, GEM_MAC_TX_CONFIG, - GEM_BANK1_READ_4(sc, GEM_MAC_TX_CONFIG) & ~GEM_MAC_TX_ENABLE); - GEM_BANK1_BARRIER(sc, GEM_MAC_TX_CONFIG, 4, + GEM_WRITE_4(sc, GEM_MAC_TX_CONFIG, + GEM_READ_4(sc, GEM_MAC_TX_CONFIG) & ~GEM_MAC_TX_ENABLE); + GEM_BARRIER(sc, GEM_MAC_TX_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (GEM_BANK1_BITWAIT(sc, GEM_MAC_TX_CONFIG, GEM_MAC_TX_ENABLE, 0)) + if (gem_bitwait(sc, GEM_MAC_TX_CONFIG, GEM_MAC_TX_ENABLE, 0)) return (1); device_printf(sc->sc_dev, "cannot disable TX MAC\n"); return (0); @@ -987,11 +961,11 @@ gem_init_locked(struct gem_softc *sc) /* step 6 & 7. Program Descriptor Ring Base Addresses. */ /* NOTE: we use only 32-bit DMA addresses here. */ - GEM_BANK1_WRITE_4(sc, GEM_TX_RING_PTR_HI, 0); - GEM_BANK1_WRITE_4(sc, GEM_TX_RING_PTR_LO, GEM_CDTXADDR(sc, 0)); + GEM_WRITE_4(sc, GEM_TX_RING_PTR_HI, 0); + GEM_WRITE_4(sc, GEM_TX_RING_PTR_LO, GEM_CDTXADDR(sc, 0)); - GEM_BANK1_WRITE_4(sc, GEM_RX_RING_PTR_HI, 0); - GEM_BANK1_WRITE_4(sc, GEM_RX_RING_PTR_LO, GEM_CDRXADDR(sc, 0)); + GEM_WRITE_4(sc, GEM_RX_RING_PTR_HI, 0); + GEM_WRITE_4(sc, GEM_RX_RING_PTR_LO, GEM_CDRXADDR(sc, 0)); #ifdef GEM_DEBUG CTR3(KTR_GEM, "loading RX ring %lx, TX ring %lx, cddma %lx", GEM_CDRXADDR(sc, 0), GEM_CDTXADDR(sc, 0), sc->sc_cddma); @@ -1006,13 +980,12 @@ gem_init_locked(struct gem_softc *sc) * RX performance. * Enable silicon bug workarounds for the Apple variants. */ - GEM_BANK1_WRITE_4(sc, GEM_CONFIG, + GEM_WRITE_4(sc, GEM_CONFIG, GEM_CONFIG_TXDMA_LIMIT | GEM_CONFIG_RXDMA_LIMIT | - ((sc->sc_flags & GEM_PCI) != 0 ? GEM_CONFIG_BURST_INF : - GEM_CONFIG_BURST_64) | (GEM_IS_APPLE(sc) ? + GEM_CONFIG_BURST_INF | (GEM_IS_APPLE(sc) ? GEM_CONFIG_RONPAULBIT | GEM_CONFIG_BUG2FIX : 0)); - GEM_BANK1_WRITE_4(sc, GEM_INTMASK, + GEM_WRITE_4(sc, GEM_INTMASK, ~(GEM_INTR_TX_INTME | GEM_INTR_TX_EMPTY | GEM_INTR_RX_DONE | GEM_INTR_RX_NOBUF | GEM_INTR_RX_TAG_ERR | GEM_INTR_PERR | GEM_INTR_BERR @@ -1020,16 +993,16 @@ gem_init_locked(struct gem_softc *sc) | GEM_INTR_PCS | GEM_INTR_MIF #endif )); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_MASK, + GEM_WRITE_4(sc, GEM_MAC_RX_MASK, GEM_MAC_RX_DONE | GEM_MAC_RX_FRAME_CNT); - GEM_BANK1_WRITE_4(sc, GEM_MAC_TX_MASK, + GEM_WRITE_4(sc, GEM_MAC_TX_MASK, GEM_MAC_TX_XMIT_DONE | GEM_MAC_TX_DEFER_EXP | GEM_MAC_TX_PEAK_EXP); #ifdef GEM_DEBUG - GEM_BANK1_WRITE_4(sc, GEM_MAC_CONTROL_MASK, + GEM_WRITE_4(sc, GEM_MAC_CONTROL_MASK, ~(GEM_MAC_PAUSED | GEM_MAC_PAUSE | GEM_MAC_RESUME)); #else - GEM_BANK1_WRITE_4(sc, GEM_MAC_CONTROL_MASK, + GEM_WRITE_4(sc, GEM_MAC_CONTROL_MASK, GEM_MAC_PAUSED | GEM_MAC_PAUSE | GEM_MAC_RESUME); #endif @@ -1038,9 +1011,8 @@ gem_init_locked(struct gem_softc *sc) /* Enable DMA. */ v = gem_ringsize(GEM_NTXDESC); /* Set TX FIFO threshold and enable DMA. */ - v |= ((sc->sc_variant == GEM_SUN_ERI ? 0x100 : 0x4ff) << 10) & - GEM_TX_CONFIG_TXFIFO_TH; - GEM_BANK1_WRITE_4(sc, GEM_TX_CONFIG, v | GEM_TX_CONFIG_TXDMA_EN); + v |= (0x4ff << 10) & GEM_TX_CONFIG_TXFIFO_TH; + GEM_WRITE_4(sc, GEM_TX_CONFIG, v | GEM_TX_CONFIG_TXDMA_EN); /* step 10. ERX Configuration */ @@ -1050,13 +1022,12 @@ gem_init_locked(struct gem_softc *sc) v |= ((ETHER_HDR_LEN + sizeof(struct ip)) << GEM_RX_CONFIG_CXM_START_SHFT); /* Set RX FIFO threshold, set first byte offset and enable DMA. */ - GEM_BANK1_WRITE_4(sc, GEM_RX_CONFIG, + GEM_WRITE_4(sc, GEM_RX_CONFIG, v | (GEM_THRSH_1024 << GEM_RX_CONFIG_FIFO_THRS_SHIFT) | (ETHER_ALIGN << GEM_RX_CONFIG_FBOFF_SHFT) | GEM_RX_CONFIG_RXDMA_EN); - /* Adjusting for the SBus clock probably isn't worth the fuzz. */ - GEM_BANK1_WRITE_4(sc, GEM_RX_BLANKING, + GEM_WRITE_4(sc, GEM_RX_BLANKING, ((6 * (sc->sc_flags & GEM_PCI66) != 0 ? 2 : 1) << GEM_RX_BLANKING_TIME_SHIFT) | 6); @@ -1064,14 +1035,14 @@ gem_init_locked(struct gem_softc *sc) * The following value is for an OFF Threshold of about 3/4 full * and an ON Threshold of 1/4 full. */ - GEM_BANK1_WRITE_4(sc, GEM_RX_PAUSE_THRESH, + GEM_WRITE_4(sc, GEM_RX_PAUSE_THRESH, (3 * sc->sc_rxfifosize / 256) | ((sc->sc_rxfifosize / 256) << 12)); /* step 11. Configure Media. */ /* step 12. RX_MAC Configuration Register */ - v = GEM_BANK1_READ_4(sc, GEM_MAC_RX_CONFIG); + v = GEM_READ_4(sc, GEM_MAC_RX_CONFIG); v &= ~GEM_MAC_RX_ENABLE; v |= GEM_MAC_RX_STRIP_CRC; sc->sc_mac_rxcfg = v; @@ -1082,15 +1053,15 @@ gem_init_locked(struct gem_softc *sc) gem_setladrf(sc); /* step 13. TX_MAC Configuration Register */ - v = GEM_BANK1_READ_4(sc, GEM_MAC_TX_CONFIG); + v = GEM_READ_4(sc, GEM_MAC_TX_CONFIG); v |= GEM_MAC_TX_ENABLE; (void)gem_disable_tx(sc); - GEM_BANK1_WRITE_4(sc, GEM_MAC_TX_CONFIG, v); + GEM_WRITE_4(sc, GEM_MAC_TX_CONFIG, v); /* step 14. Issue Transmit Pending command. */ /* step 15. Give the receiver a swift kick. */ - GEM_BANK1_WRITE_4(sc, GEM_RX_KICK, GEM_NRXDESC - 4); + GEM_WRITE_4(sc, GEM_RX_KICK, GEM_NRXDESC - 4); ifp->if_drv_flags |= IFF_DRV_RUNNING; ifp->if_drv_flags &= ~IFF_DRV_OACTIVE; @@ -1192,16 +1163,13 @@ gem_load_txmbuf(struct gem_softc *sc, struct mbuf **m_head) CTR6(KTR_GEM, "%s: mapping seg %d (txd %d), len %lx, addr %#lx (%#lx)", __func__, seg, nexttx, txsegs[seg].ds_len, - txsegs[seg].ds_addr, - GEM_DMA_WRITE(sc, txsegs[seg].ds_addr)); + txsegs[seg].ds_addr, htole64(txsegs[seg].ds_addr)); #endif - sc->sc_txdescs[nexttx].gd_addr = - GEM_DMA_WRITE(sc, txsegs[seg].ds_addr); + sc->sc_txdescs[nexttx].gd_addr = htole64(txsegs[seg].ds_addr); KASSERT(txsegs[seg].ds_len < GEM_TD_BUFSIZE, ("%s: segment size too large!", __func__)); flags = txsegs[seg].ds_len & GEM_TD_BUFSIZE; - sc->sc_txdescs[nexttx].gd_flags = - GEM_DMA_WRITE(sc, flags | cflags); + sc->sc_txdescs[nexttx].gd_flags = htole64(flags | cflags); txs->txs_lastdesc = nexttx; } @@ -1211,7 +1179,7 @@ gem_load_txmbuf(struct gem_softc *sc, struct mbuf **m_head) __func__, seg, nexttx); #endif sc->sc_txdescs[txs->txs_lastdesc].gd_flags |= - GEM_DMA_WRITE(sc, GEM_TD_END_OF_PACKET); + htole64(GEM_TD_END_OF_PACKET); /* Lastly set SOP on the first descriptor. */ #ifdef GEM_DEBUG @@ -1221,11 +1189,10 @@ gem_load_txmbuf(struct gem_softc *sc, struct mbuf **m_head) if (++sc->sc_txwin > GEM_NTXSEGS * 2 / 3) { sc->sc_txwin = 0; sc->sc_txdescs[txs->txs_firstdesc].gd_flags |= - GEM_DMA_WRITE(sc, GEM_TD_INTERRUPT_ME | - GEM_TD_START_OF_PACKET); + htole64(GEM_TD_INTERRUPT_ME | GEM_TD_START_OF_PACKET); } else sc->sc_txdescs[txs->txs_firstdesc].gd_flags |= - GEM_DMA_WRITE(sc, GEM_TD_START_OF_PACKET); + htole64(GEM_TD_START_OF_PACKET); /* Sync the DMA map. */ bus_dmamap_sync(sc->sc_tdmatag, txs->txs_dmamap, @@ -1256,69 +1223,69 @@ gem_init_regs(struct gem_softc *sc) /* These registers are not cleared on reset. */ if ((sc->sc_flags & GEM_INITED) == 0) { /* magic values */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_IPG0, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_IPG1, 8); - GEM_BANK1_WRITE_4(sc, GEM_MAC_IPG2, 4); + GEM_WRITE_4(sc, GEM_MAC_IPG0, 0); + GEM_WRITE_4(sc, GEM_MAC_IPG1, 8); + GEM_WRITE_4(sc, GEM_MAC_IPG2, 4); /* min frame length */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_MAC_MIN_FRAME, ETHER_MIN_LEN); + GEM_WRITE_4(sc, GEM_MAC_MAC_MIN_FRAME, ETHER_MIN_LEN); /* max frame length and max burst size */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_MAC_MAX_FRAME, + GEM_WRITE_4(sc, GEM_MAC_MAC_MAX_FRAME, (ETHER_MAX_LEN + ETHER_VLAN_ENCAP_LEN) | (0x2000 << 16)); /* more magic values */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_PREAMBLE_LEN, 0x7); - GEM_BANK1_WRITE_4(sc, GEM_MAC_JAM_SIZE, 0x4); - GEM_BANK1_WRITE_4(sc, GEM_MAC_ATTEMPT_LIMIT, 0x10); - GEM_BANK1_WRITE_4(sc, GEM_MAC_CONTROL_TYPE, 0x8808); + GEM_WRITE_4(sc, GEM_MAC_PREAMBLE_LEN, 0x7); + GEM_WRITE_4(sc, GEM_MAC_JAM_SIZE, 0x4); + GEM_WRITE_4(sc, GEM_MAC_ATTEMPT_LIMIT, 0x10); + GEM_WRITE_4(sc, GEM_MAC_CONTROL_TYPE, 0x8808); /* random number seed */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_RANDOM_SEED, + GEM_WRITE_4(sc, GEM_MAC_RANDOM_SEED, ((laddr[5] << 8) | laddr[4]) & 0x3ff); /* secondary MAC address: 0:0:0:0:0:0 */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR3, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR4, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR5, 0); + GEM_WRITE_4(sc, GEM_MAC_ADDR3, 0); + GEM_WRITE_4(sc, GEM_MAC_ADDR4, 0); + GEM_WRITE_4(sc, GEM_MAC_ADDR5, 0); /* MAC control address: 01:80:c2:00:00:01 */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR6, 0x0001); - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR7, 0xc200); - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR8, 0x0180); + GEM_WRITE_4(sc, GEM_MAC_ADDR6, 0x0001); + GEM_WRITE_4(sc, GEM_MAC_ADDR7, 0xc200); + GEM_WRITE_4(sc, GEM_MAC_ADDR8, 0x0180); /* MAC filter address: 0:0:0:0:0:0 */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR_FILTER0, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR_FILTER1, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR_FILTER2, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADR_FLT_MASK1_2, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADR_FLT_MASK0, 0); + GEM_WRITE_4(sc, GEM_MAC_ADDR_FILTER0, 0); + GEM_WRITE_4(sc, GEM_MAC_ADDR_FILTER1, 0); + GEM_WRITE_4(sc, GEM_MAC_ADDR_FILTER2, 0); + GEM_WRITE_4(sc, GEM_MAC_ADR_FLT_MASK1_2, 0); + GEM_WRITE_4(sc, GEM_MAC_ADR_FLT_MASK0, 0); sc->sc_flags |= GEM_INITED; } /* Counters need to be zeroed. */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_NORM_COLL_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_FIRST_COLL_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_EXCESS_COLL_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_LATE_COLL_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_DEFER_TMR_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_PEAK_ATTEMPTS, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_FRAME_COUNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_LEN_ERR_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_ALIGN_ERR, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CRC_ERR_CNT, 0); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CODE_VIOL, 0); + GEM_WRITE_4(sc, GEM_MAC_NORM_COLL_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_FIRST_COLL_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_EXCESS_COLL_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_LATE_COLL_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_DEFER_TMR_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_PEAK_ATTEMPTS, 0); + GEM_WRITE_4(sc, GEM_MAC_RX_FRAME_COUNT, 0); + GEM_WRITE_4(sc, GEM_MAC_RX_LEN_ERR_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_RX_ALIGN_ERR, 0); + GEM_WRITE_4(sc, GEM_MAC_RX_CRC_ERR_CNT, 0); + GEM_WRITE_4(sc, GEM_MAC_RX_CODE_VIOL, 0); /* Set XOFF PAUSE time. */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_SEND_PAUSE_CMD, 0x1BF0); + GEM_WRITE_4(sc, GEM_MAC_SEND_PAUSE_CMD, 0x1BF0); /* Set the station address. */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR0, (laddr[4] << 8) | laddr[5]); - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR1, (laddr[2] << 8) | laddr[3]); - GEM_BANK1_WRITE_4(sc, GEM_MAC_ADDR2, (laddr[0] << 8) | laddr[1]); + GEM_WRITE_4(sc, GEM_MAC_ADDR0, (laddr[4] << 8) | laddr[5]); + GEM_WRITE_4(sc, GEM_MAC_ADDR1, (laddr[2] << 8) | laddr[3]); + GEM_WRITE_4(sc, GEM_MAC_ADDR2, (laddr[0] << 8) | laddr[1]); /* Enable MII outputs. */ - GEM_BANK1_WRITE_4(sc, GEM_MAC_XIF_CONFIG, GEM_MAC_XIF_TX_MII_ENA); + GEM_WRITE_4(sc, GEM_MAC_XIF_CONFIG, GEM_MAC_XIF_TX_MII_ENA); } static void @@ -1346,7 +1313,7 @@ gem_txkick(struct gem_softc *sc) device_get_name(sc->sc_dev), __func__, sc->sc_txnext); #endif GEM_CDSYNC(sc, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); - GEM_BANK1_WRITE_4(sc, GEM_TX_KICK, sc->sc_txnext); + GEM_WRITE_4(sc, GEM_TX_KICK, sc->sc_txnext); } static void @@ -1435,10 +1402,10 @@ gem_tint(struct gem_softc *sc) for (i = txs->txs_firstdesc;; i = GEM_NEXTTX(i)) { printf("descriptor %d: ", i); printf("gd_flags: 0x%016llx\t", - (long long)GEM_DMA_READ(sc, + (long long)le64toh( sc->sc_txdescs[i].gd_flags)); printf("gd_addr: 0x%016llx\n", - (long long)GEM_DMA_READ(sc, + (long long)le64toh( sc->sc_txdescs[i].gd_addr)); if (i == txs->txs_lastdesc) break; @@ -1453,7 +1420,7 @@ gem_tint(struct gem_softc *sc) * GEM_TX_COMPLETION points to the last descriptor * processed + 1. */ - txlast = GEM_BANK1_READ_4(sc, GEM_TX_COMPLETION); + txlast = GEM_READ_4(sc, GEM_TX_COMPLETION); #ifdef GEM_DEBUG CTR4(KTR_GEM, "%s: txs->txs_firstdesc = %d, " "txs->txs_lastdesc = %d, txlast = %d", @@ -1494,10 +1461,10 @@ gem_tint(struct gem_softc *sc) #ifdef GEM_DEBUG CTR4(KTR_GEM, "%s: GEM_TX_STATE_MACHINE %x GEM_TX_DATA_PTR %llx " "GEM_TX_COMPLETION %x", - __func__, GEM_BANK1_READ_4(sc, GEM_TX_STATE_MACHINE), - ((long long)GEM_BANK1_READ_4(sc, GEM_TX_DATA_PTR_HI) << 32) | - GEM_BANK1_READ_4(sc, GEM_TX_DATA_PTR_LO), - GEM_BANK1_READ_4(sc, GEM_TX_COMPLETION)); + __func__, GEM_READ_4(sc, GEM_TX_STATE_MACHINE), + ((long long)GEM_READ_4(sc, GEM_TX_DATA_PTR_HI) << 32) | + GEM_READ_4(sc, GEM_TX_DATA_PTR_LO), + GEM_READ_4(sc, GEM_TX_COMPLETION)); #endif if (progress) { @@ -1553,7 +1520,7 @@ gem_rint(struct gem_softc *sc) * Read the completion register once. This limits * how long the following loop can execute. */ - rxcomp = GEM_BANK1_READ_4(sc, GEM_RX_COMPLETION); + rxcomp = GEM_READ_4(sc, GEM_RX_COMPLETION); #ifdef GEM_DEBUG CTR3(KTR_GEM, "%s: sc->sc_rxptr %d, complete %d", __func__, sc->sc_rxptr, rxcomp); @@ -1561,8 +1528,7 @@ gem_rint(struct gem_softc *sc) GEM_CDSYNC(sc, BUS_DMASYNC_POSTREAD | BUS_DMASYNC_POSTWRITE); for (; sc->sc_rxptr != rxcomp;) { m = sc->sc_rxsoft[sc->sc_rxptr].rxs_mbuf; - rxstat = GEM_DMA_READ(sc, - sc->sc_rxdescs[sc->sc_rxptr].gd_flags); + rxstat = le64toh(sc->sc_rxdescs[sc->sc_rxptr].gd_flags); if (rxstat & GEM_RD_OWN) { #ifdef GEM_RINT_TIMEOUT @@ -1594,10 +1560,10 @@ gem_rint(struct gem_softc *sc) printf(" rxsoft %p descriptor %d: ", &sc->sc_rxsoft[sc->sc_rxptr], sc->sc_rxptr); printf("gd_flags: 0x%016llx\t", - (long long)GEM_DMA_READ(sc, + (long long)le64toh( sc->sc_rxdescs[sc->sc_rxptr].gd_flags)); printf("gd_addr: 0x%016llx\n", - (long long)GEM_DMA_READ(sc, + (long long)le64toh( sc->sc_rxdescs[sc->sc_rxptr].gd_addr)); } #endif @@ -1625,7 +1591,7 @@ gem_rint(struct gem_softc *sc) if ((sc->sc_rxptr % 4) == 0) { GEM_CDSYNC(sc, BUS_DMASYNC_PREREAD | BUS_DMASYNC_PREWRITE); - GEM_BANK1_WRITE_4(sc, GEM_RX_KICK, + GEM_WRITE_4(sc, GEM_RX_KICK, (sc->sc_rxptr + GEM_NRXDESC - 4) & GEM_NRXDESC_MASK); } @@ -1652,7 +1618,7 @@ gem_rint(struct gem_softc *sc) #ifdef GEM_DEBUG CTR3(KTR_GEM, "%s: done sc->sc_rxptr %d, complete %d", __func__, - sc->sc_rxptr, GEM_BANK1_READ_4(sc, GEM_RX_COMPLETION)); + sc->sc_rxptr, GEM_READ_4(sc, GEM_RX_COMPLETION)); #endif } @@ -1716,13 +1682,10 @@ gem_eint(struct gem_softc *sc, u_int status) device_printf(sc->sc_dev, "%s: status 0x%x", __func__, status); if ((status & GEM_INTR_BERR) != 0) { - if ((sc->sc_flags & GEM_PCI) != 0) - printf(", PCI bus error 0x%x\n", - GEM_BANK1_READ_4(sc, GEM_PCI_ERROR_STATUS)); - else - printf(", SBus error 0x%x\n", - GEM_BANK1_READ_4(sc, GEM_SBUS_STATUS)); + printf(", PCI bus error 0x%x", + GEM_READ_4(sc, GEM_PCI_ERROR_STATUS)); } + printf("\n"); } void @@ -1732,7 +1695,7 @@ gem_intr(void *v) uint32_t status, status2; GEM_LOCK(sc); - status = GEM_BANK1_READ_4(sc, GEM_STATUS); + status = GEM_READ_4(sc, GEM_STATUS); #ifdef GEM_DEBUG CTR4(KTR_GEM, "%s: %s: cplt %x, status %x", @@ -1744,14 +1707,14 @@ gem_intr(void *v) */ if ((status & GEM_INTR_PCS) != 0) { status2 = - GEM_BANK1_READ_4(sc, GEM_MII_INTERRUP_STATUS) | - GEM_BANK1_READ_4(sc, GEM_MII_INTERRUP_STATUS); + GEM_READ_4(sc, GEM_MII_INTERRUP_STATUS) | + GEM_READ_4(sc, GEM_MII_INTERRUP_STATUS); if ((status2 & GEM_MII_INTERRUP_LINK) != 0) device_printf(sc->sc_dev, "%s: PCS link status changed\n", __func__); } if ((status & GEM_MAC_CONTROL_STATUS) != 0) { - status2 = GEM_BANK1_READ_4(sc, GEM_MAC_CONTROL_STATUS); + status2 = GEM_READ_4(sc, GEM_MAC_CONTROL_STATUS); if ((status2 & GEM_MAC_PAUSED) != 0) device_printf(sc->sc_dev, "%s: PAUSE received (PAUSE time %d slots)\n", @@ -1778,7 +1741,7 @@ gem_intr(void *v) gem_tint(sc); if (__predict_false((status & GEM_INTR_TX_MAC) != 0)) { - status2 = GEM_BANK1_READ_4(sc, GEM_MAC_TX_STATUS); + status2 = GEM_READ_4(sc, GEM_MAC_TX_STATUS); if ((status2 & ~(GEM_MAC_TX_XMIT_DONE | GEM_MAC_TX_DEFER_EXP | GEM_MAC_TX_PEAK_EXP)) != 0) @@ -1792,12 +1755,12 @@ gem_intr(void *v) } } if (__predict_false((status & GEM_INTR_RX_MAC) != 0)) { - status2 = GEM_BANK1_READ_4(sc, GEM_MAC_RX_STATUS); + status2 = GEM_READ_4(sc, GEM_MAC_RX_STATUS); /* - * At least with GEM_SUN_GEM and some GEM_SUN_ERI - * revisions GEM_MAC_RX_OVERFLOW happen often due to a - * silicon bug so handle them silently. Moreover, it's - * likely that the receiver has hung so we reset it. + * At least with GEM_SUN_GEM revisions GEM_MAC_RX_OVERFLOW + * happen often due to a silicon bug so handle them silently. + * Moreover, it's likely that the receiver has hung so we + * reset it. */ if ((status2 & GEM_MAC_RX_OVERFLOW) != 0) { if_inc_counter(sc->sc_ifp, IFCOUNTER_IERRORS, 1); @@ -1820,14 +1783,14 @@ gem_watchdog(struct gem_softc *sc) #ifdef GEM_DEBUG CTR4(KTR_GEM, "%s: GEM_RX_CONFIG %x GEM_MAC_RX_STATUS %x GEM_MAC_RX_CONFIG %x", - __func__, GEM_BANK1_READ_4(sc, GEM_RX_CONFIG), - GEM_BANK1_READ_4(sc, GEM_MAC_RX_STATUS), - GEM_BANK1_READ_4(sc, GEM_MAC_RX_CONFIG)); + __func__, GEM_READ_4(sc, GEM_RX_CONFIG), + GEM_READ_4(sc, GEM_MAC_RX_STATUS), + GEM_READ_4(sc, GEM_MAC_RX_CONFIG)); CTR4(KTR_GEM, "%s: GEM_TX_CONFIG %x GEM_MAC_TX_STATUS %x GEM_MAC_TX_CONFIG %x", - __func__, GEM_BANK1_READ_4(sc, GEM_TX_CONFIG), - GEM_BANK1_READ_4(sc, GEM_MAC_TX_STATUS), - GEM_BANK1_READ_4(sc, GEM_MAC_TX_CONFIG)); + __func__, GEM_READ_4(sc, GEM_TX_CONFIG), + GEM_READ_4(sc, GEM_MAC_TX_STATUS), + GEM_READ_4(sc, GEM_MAC_TX_CONFIG)); #endif if (sc->sc_wdog_timer == 0 || --sc->sc_wdog_timer != 0) @@ -1851,9 +1814,9 @@ gem_mifinit(struct gem_softc *sc) { /* Configure the MIF in frame mode. */ - GEM_BANK1_WRITE_4(sc, GEM_MIF_CONFIG, - GEM_BANK1_READ_4(sc, GEM_MIF_CONFIG) & ~GEM_MIF_CONFIG_BB_ENA); - GEM_BANK1_BARRIER(sc, GEM_MIF_CONFIG, 4, + GEM_WRITE_4(sc, GEM_MIF_CONFIG, + GEM_READ_4(sc, GEM_MIF_CONFIG) & ~GEM_MIF_CONFIG_BB_ENA); + GEM_BARRIER(sc, GEM_MIF_CONFIG, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); } @@ -1907,7 +1870,7 @@ gem_mii_readreg(device_t dev, int phy, int reg) "%s: unhandled register %d\n", __func__, reg); return (0); } - return (GEM_BANK1_READ_4(sc, reg)); + return (GEM_READ_4(sc, reg)); } /* Construct the frame command. */ @@ -1915,12 +1878,12 @@ gem_mii_readreg(device_t dev, int phy, int reg) (phy << GEM_MIF_PHY_SHIFT) | (reg << GEM_MIF_REG_SHIFT); - GEM_BANK1_WRITE_4(sc, GEM_MIF_FRAME, v); - GEM_BANK1_BARRIER(sc, GEM_MIF_FRAME, 4, + GEM_WRITE_4(sc, GEM_MIF_FRAME, v); + GEM_BARRIER(sc, GEM_MIF_FRAME, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); for (n = 0; n < 100; n++) { DELAY(1); - v = GEM_BANK1_READ_4(sc, GEM_MIF_FRAME); + v = GEM_READ_4(sc, GEM_MIF_FRAME); if (v & GEM_MIF_FRAME_TA0) return (v & GEM_MIF_FRAME_DATA); } @@ -1950,28 +1913,28 @@ gem_mii_writereg(device_t dev, int phy, int reg, int val) reg = GEM_MII_CONTROL; if ((val & GEM_MII_CONTROL_RESET) == 0) break; - GEM_BANK1_WRITE_4(sc, GEM_MII_CONTROL, val); - GEM_BANK1_BARRIER(sc, GEM_MII_CONTROL, 4, + GEM_WRITE_4(sc, GEM_MII_CONTROL, val); + GEM_BARRIER(sc, GEM_MII_CONTROL, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); - if (!GEM_BANK1_BITWAIT(sc, GEM_MII_CONTROL, + if (!gem_bitwait(sc, GEM_MII_CONTROL, GEM_MII_CONTROL_RESET, 0)) device_printf(sc->sc_dev, "cannot reset PCS\n"); /* FALLTHROUGH */ case MII_ANAR: - GEM_BANK1_WRITE_4(sc, GEM_MII_CONFIG, 0); - GEM_BANK1_BARRIER(sc, GEM_MII_CONFIG, 4, + GEM_WRITE_4(sc, GEM_MII_CONFIG, 0); + GEM_BARRIER(sc, GEM_MII_CONFIG, 4, BUS_SPACE_BARRIER_WRITE); - GEM_BANK1_WRITE_4(sc, GEM_MII_ANAR, val); - GEM_BANK1_BARRIER(sc, GEM_MII_ANAR, 4, + GEM_WRITE_4(sc, GEM_MII_ANAR, val); + GEM_BARRIER(sc, GEM_MII_ANAR, 4, BUS_SPACE_BARRIER_WRITE); - GEM_BANK1_WRITE_4(sc, GEM_MII_SLINK_CONTROL, + GEM_WRITE_4(sc, GEM_MII_SLINK_CONTROL, GEM_MII_SLINK_LOOPBACK | GEM_MII_SLINK_EN_SYNC_D); - GEM_BANK1_BARRIER(sc, GEM_MII_SLINK_CONTROL, 4, + GEM_BARRIER(sc, GEM_MII_SLINK_CONTROL, 4, BUS_SPACE_BARRIER_WRITE); - GEM_BANK1_WRITE_4(sc, GEM_MII_CONFIG, + GEM_WRITE_4(sc, GEM_MII_CONFIG, GEM_MII_CONFIG_ENABLE); - GEM_BANK1_BARRIER(sc, GEM_MII_CONFIG, 4, + GEM_BARRIER(sc, GEM_MII_CONFIG, 4, BUS_SPACE_BARRIER_WRITE); return (0); case MII_ANLPAR: @@ -1982,8 +1945,8 @@ gem_mii_writereg(device_t dev, int phy, int reg, int val) "%s: unhandled register %d\n", __func__, reg); return (0); } - GEM_BANK1_WRITE_4(sc, reg, val); - GEM_BANK1_BARRIER(sc, reg, 4, + GEM_WRITE_4(sc, reg, val); + GEM_BARRIER(sc, reg, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); return (0); } @@ -1994,12 +1957,12 @@ gem_mii_writereg(device_t dev, int phy, int reg, int val) (reg << GEM_MIF_REG_SHIFT) | (val & GEM_MIF_FRAME_DATA); - GEM_BANK1_WRITE_4(sc, GEM_MIF_FRAME, v); - GEM_BANK1_BARRIER(sc, GEM_MIF_FRAME, 4, + GEM_WRITE_4(sc, GEM_MIF_FRAME, v); + GEM_BARRIER(sc, GEM_MIF_FRAME, 4, BUS_SPACE_BARRIER_READ | BUS_SPACE_BARRIER_WRITE); for (n = 0; n < 100; n++) { DELAY(1); - v = GEM_BANK1_READ_4(sc, GEM_MIF_FRAME); + v = GEM_READ_4(sc, GEM_MIF_FRAME); if (v & GEM_MIF_FRAME_TA0) return (1); } @@ -2058,11 +2021,11 @@ gem_mii_statchg(device_t dev) txcfg |= GEM_MAC_TX_CARR_EXTEND; } (void)gem_disable_tx(sc); - GEM_BANK1_WRITE_4(sc, GEM_MAC_TX_CONFIG, txcfg); + GEM_WRITE_4(sc, GEM_MAC_TX_CONFIG, txcfg); (void)gem_disable_rx(sc); - GEM_BANK1_WRITE_4(sc, GEM_MAC_RX_CONFIG, rxcfg); + GEM_WRITE_4(sc, GEM_MAC_RX_CONFIG, rxcfg); - v = GEM_BANK1_READ_4(sc, GEM_MAC_CONTROL_CONFIG) & + v = GEM_READ_4(sc, GEM_MAC_CONTROL_CONFIG) & ~(GEM_MAC_CC_RX_PAUSE | GEM_MAC_CC_TX_PAUSE); if ((IFM_OPTIONS(sc->sc_mii->mii_media_active) & IFM_ETH_RXPAUSE) != 0) @@ -2070,21 +2033,21 @@ gem_mii_statchg(device_t dev) if ((IFM_OPTIONS(sc->sc_mii->mii_media_active) & IFM_ETH_TXPAUSE) != 0) v |= GEM_MAC_CC_TX_PAUSE; - GEM_BANK1_WRITE_4(sc, GEM_MAC_CONTROL_CONFIG, v); + GEM_WRITE_4(sc, GEM_MAC_CONTROL_CONFIG, v); *** 445 LINES SKIPPED *** From nobody Sun Aug 6 20:36:21 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrnx5dZdz4mNWK; Sun, 6 Aug 2023 20:36:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrnx40MGz4b94; Sun, 6 Aug 2023 20:36:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AGLcc37AH2fNd2z7lDeQShq2eFBHOkEKY/pvSvZ0fpI=; b=GNj0Bk9wjCH4l2Gg0jk397G/2IJ8CcanMFT5+jk9zLVQ08A7EWoLceW9P0/ats3FKnKatr 1ADuLGhkbQ35PkMEKBxiK1q9g0kXvL3EPexzIYwZjBmzCd+Y1yCzvPEMTYAqHxsFUKxROJ /ySfz7MyxHx554OT38qDX09eKvAnt7lTlwVE+lpbfBims8rjDAKreIKTO0hJcmsa1WJ6Sx R9N+7DNHv3Iyo0PPrAZhnQLjT2vf9oT1TLCSWIRHaOGBBIkGAzqXkFXn++HIxmmpQCeP+3 ypxrRjaXFdX4pHuTC9eFKo9ZhGZ/1BwODTgUJvBWXaxspdQ5cmJtlpNxiJpdGg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354181; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AGLcc37AH2fNd2z7lDeQShq2eFBHOkEKY/pvSvZ0fpI=; b=MghM/1XgoG7f1XF4Dox5qkoiN3Av1XFZnMDFqYrATMurhYO5F0LaBOV79Zf83LCyjkM0P0 QMEiu0WoiBdl4JP1ErUQUNFjOCyWB5QViIw/Keqsv8MJegq38H4vlrYFK5ahgZeXduFQAU +8B53g80jvbhd/oHmGKlg3/o5oBny5xUr+kLM6TUE67m56wos5frbpJwSvYSNXycsTmBZv F8s1PIWKCMbFxw/JZZIe5e2kyPZSn54GdlVlq5JXzKa9l4yS1r3m++v+VaqANWJk0cVoh0 x4JID4/zklQm+Je5b8zW7/4s1m66t0PUvguZEs3vyYisU7OZDjoMu4wRLGvELQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354181; a=rsa-sha256; cv=none; b=A8l0/t5QIclNVR4yBfSX9CFBI8jTIVjfpv+a2T2NQV8PhGVDohBb5k9Ks+m6uc8L9TrLFe SGVGotUT9Q1o4bsNoF2561GvpcPVKQ8W3z8yU2nePseVJART8KrxkNG0Db9+uAdPRPI5ll PL+l1q7BeoJkCyuK/w0FwazvpNacz/oMyJT3ZOi3EIYJekazyKGGXijp6/9dbF5ztcNim/ RaLD+bgSHJudw9Am+tZayqHeGzgJAkqTy3tP8LN5J/MoI9sIRHhOZSMjanY9rxHoLzYvV0 jEm2FmsKNCsStiHObBgzyPRSWuzOro19vTYXtUt3SJw6OXHNDnQyJntoldfwMQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrnx367hz9BZ; Sun, 6 Aug 2023 20:36:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaLiu042573; Sun, 6 Aug 2023 20:36:21 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaLWt042572; Sun, 6 Aug 2023 20:36:21 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:21 GMT Message-Id: <202308062036.376KaLWt042572@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 2dd8070638c6 - stable/13 - cas.4: Remove remaining sparc64-specific bit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2dd8070638c6703800130a1bff07a929eb376643 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=2dd8070638c6703800130a1bff07a929eb376643 commit 2dd8070638c6703800130a1bff07a929eb376643 Author: Marius Strobl AuthorDate: 2023-04-18 17:06:51 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:10:49 +0000 cas.4: Remove remaining sparc64-specific bit This was missed in 702547720ca01437081fb1b6f9eb281c9541021b. (cherry picked from commit a12d60b99ee5a453e249adc8cf239117f50bd603) --- share/man/man4/cas.4 | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/share/man/man4/cas.4 b/share/man/man4/cas.4 index fa19cc33c2ab..03c3fcd57694 100644 --- a/share/man/man4/cas.4 +++ b/share/man/man4/cas.4 @@ -25,7 +25,7 @@ .\" .\" $FreeBSD$ .\" -.Dd December 26, 2020 +.Dd April 18, 2023 .Dt CAS 4 .Os .Sh NAME @@ -50,8 +50,7 @@ if_cas_load="YES" The .Nm driver provides support for the Sun Cassini/Cassini+ and National -Semiconductor DP83065 Saturn Gigabit Ethernet controllers found -on-board in Sun UltraSPARC machines and as add-on cards. +Semiconductor DP83065 Saturn Gigabit Ethernet controllers. .Pp All controllers supported by the .Nm From nobody Sun Aug 6 20:36:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrnz0bpZz4mNYx; Sun, 6 Aug 2023 20:36:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrny6cFpz4bSX; Sun, 6 Aug 2023 20:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vTLprAQz3BPX7B55zij3MtoD1XUGXe4wpncUmwha7LA=; b=UC49CGGM3Ns3g1q/5Nji08Bi112Je/o6J+deE5y9BuysNM8uuOhNe6bgsks1p+TUQ+GchD by4QeL4yYu7aGpvzaM3X4nS34uCNwzKyo9LHDn7ohDhdOMKFX9R17e8jgirsCkivicPVK9 3R7dzg0nstVoRvhqEUXmZR8SnQ7q9XcGymxnygmnzsmOSr7s1mhSmwUo7GqijYRcybhQhI lCPKjGEY0U0ElWM2Z6SgbPbtsKsXmL/Ft2InmpFVy4zkQTc5ykboW4B4eDZyKbHd45psH4 q9gJ/8R/EAYIKE7tUDfExu6EAWemY0Q797Qxb4WmjhBAWAcBbRrZgohXk7vgkw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354183; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=vTLprAQz3BPX7B55zij3MtoD1XUGXe4wpncUmwha7LA=; b=GSQzi+pOTWsPCwIz2eG5VauWhEgYBsGlexuUA8Zb9QpPkpvV8MACBcTB0OAdFIazGfo2Rr f4vxEa8HbeXj1chCnTOUGPunAT3XCWpJ9b32xs6DqKwS/0u55pE8DdZti9bWboesyvPP7x cvzuLVOt6AkOdQ3qvhf8trWfsVTj6pAptWMHCzeiaOoygSMmeegDpOL/Zn9oUikQJkD7Ob j8Qsl16M/U5vibK0zdpiEXEGrIMdBIVRnmATM65chSvUS5jXmIh5KOeGXcse9HLxjVJpCP 69h8Yv8UroEdfNTHsQlQh2SHwNaBpUfzO4lkHfAHGCfoXU6N3xRIOH+8NFdIXQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354183; a=rsa-sha256; cv=none; b=vwn3od4Eux2g/yCDBsYvYXRgK1r/oH8yn+QTVZTl57jnDPXB4JuwxABQFbTDR98grGCgWo wJLJyxNUFEILn6fvOul1+PUCwjT937IOOU8kCY7l0J3eKDBpSQzm0pzHIJQMbdbHmvHe1h B7h8bAUwKb/rySknfP9n0kpr9X57NoqiWFyeG2uRkGj/Q78xVySw5CBcwK38vi3wvyLweE dMOhnCOpVXJJaJ0LlX9Hf0/kZrSiNFzYKl0nL4Gy3yeFsesKixczkx7kNCa0+qsiXqC8pR evkHxRn6ZPqBx04sLNdoX8tm0wtH70nMpzE+x5MTeM9KAEal3+0dsRptAMnk3A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrny4tg4z8XP; Sun, 6 Aug 2023 20:36:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaMCs042592; Sun, 6 Aug 2023 20:36:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaMHd042591; Sun, 6 Aug 2023 20:36:22 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:22 GMT Message-Id: <202308062036.376KaMHd042591@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 36670fa153a8 - stable/13 - test: remove remainder of testfloat List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 36670fa153a8dfc2c898217a0d5429675e342f35 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=36670fa153a8dfc2c898217a0d5429675e342f35 commit 36670fa153a8dfc2c898217a0d5429675e342f35 Author: Marius Strobl AuthorDate: 2023-06-30 20:36:39 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:11:42 +0000 test: remove remainder of testfloat These bits are unused since the sparc64-specific glue has been deleted in f33b14f0. (cherry picked from commit eb33b693b364a4547dfcfd21c159ffc4fb339bc2) --- tools/test/testfloat/README.txt | 50 - tools/test/testfloat/fail.c | 46 - tools/test/testfloat/fail.h | 29 - tools/test/testfloat/random.c | 63 - tools/test/testfloat/random.h | 32 - tools/test/testfloat/slowfloat-32.c | 1183 --------- tools/test/testfloat/slowfloat-64.c | 2109 ---------------- tools/test/testfloat/slowfloat.c | 35 - tools/test/testfloat/slowfloat.h | 167 -- tools/test/testfloat/systemBugs.txt | 323 --- tools/test/testfloat/systflags.h | 33 - tools/test/testfloat/systfloat.c | 553 ----- tools/test/testfloat/systmodes.h | 42 - tools/test/testfloat/testCases.c | 3682 ---------------------------- tools/test/testfloat/testCases.h | 69 - tools/test/testfloat/testFunction.c | 1149 --------- tools/test/testfloat/testFunction.h | 135 - tools/test/testfloat/testLoops.c | 2713 -------------------- tools/test/testfloat/testLoops.h | 143 -- tools/test/testfloat/testfloat-history.txt | 57 - tools/test/testfloat/testfloat-source.txt | 444 ---- tools/test/testfloat/testfloat.c | 299 --- tools/test/testfloat/testfloat.txt | 771 ------ tools/test/testfloat/testsoftfloat.c | 1044 -------- tools/test/testfloat/writeHex.c | 183 -- tools/test/testfloat/writeHex.h | 42 - 26 files changed, 15396 deletions(-) diff --git a/tools/test/testfloat/README.txt b/tools/test/testfloat/README.txt deleted file mode 100644 index fe99fd95d641..000000000000 --- a/tools/test/testfloat/README.txt +++ /dev/null @@ -1,50 +0,0 @@ - -Package Overview for TestFloat Release 2a - -John R. Hauser -1998 December 16 - - -TestFloat is a program for testing that a floating-point implementation -conforms to the IEC/IEEE Standard for Binary Floating-Point Arithmetic. -TestFloat is distributed in the form of C source code. The TestFloat -package actually provides two related programs: - --- The `testfloat' program tests a system's floating-point for conformance - to the IEC/IEEE Standard. This program uses the SoftFloat software - floating-point implementation as a basis for comparison. - --- The `testsoftfloat' program tests SoftFloat itself for conformance to - the IEC/IEEE Standard. These tests are performed by comparing against a - separate, slower software floating-point that is included in the TestFloat - package. - -TestFloat depends on SoftFloat, but SoftFloat is not included in the -TestFloat package. SoftFloat can be obtained through the Web page `http:// -HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/SoftFloat.html'. - -TestFloat is documented in three text files: - - testfloat.txt Documentation for using the TestFloat programs - (both `testfloat' and `testsoftfloat'). - testfloat-source.txt Documentation for porting and compiling TestFloat. - testfloat-history.txt History of major changes to TestFloat. - -The following file is also provided: - - systemBugs.txt Information about processor bugs found using - TestFloat. - -Other files in the package comprise the source code for TestFloat. - -Please be aware that some work is involved in porting this software to other -targets. It is not just a matter of getting `make' to complete without -error messages. I would have written the code that way if I could, but -there are fundamental differences between systems that I can't make go away. -You should not attempt to compile the TestFloat sources without first -reading `testfloat-source.txt'. - -At the time of this writing, the most up-to-date information about -TestFloat and the latest release can be found at the Web page `http:// -HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. - diff --git a/tools/test/testfloat/fail.c b/tools/test/testfloat/fail.c deleted file mode 100644 index 30bbea6bd7d7..000000000000 --- a/tools/test/testfloat/fail.c +++ /dev/null @@ -1,46 +0,0 @@ - -/* -=============================================================================== - -This C source file is part of TestFloat, Release 2a, a package of programs -for testing the correctness of floating-point arithmetic complying to the -IEC/IEEE Standard for Floating-Point. - -Written by John R. Hauser. More information is available through the Web -page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. - -THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort -has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT -TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO -PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY -AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE. - -Derivative works are acceptable, even for commercial purposes, so long as -(1) they include prominent notice that the work is derivative, and (2) they -include prominent notice akin to these four paragraphs for those parts of -this code that are retained. - -=============================================================================== -*/ - -#include -#include -#include -#include "milieu.h" -#include "fail.h" - -char *fail_programName = ""; - -void fail( const char *message, ... ) -{ - va_list varArgs; - - fprintf( stderr, "%s: ", fail_programName ); - va_start( varArgs, message ); - vfprintf( stderr, message, varArgs ); - va_end( varArgs ); - fputs( ".\n", stderr ); - exit( EXIT_FAILURE ); - -} - diff --git a/tools/test/testfloat/fail.h b/tools/test/testfloat/fail.h deleted file mode 100644 index 9c338da260aa..000000000000 --- a/tools/test/testfloat/fail.h +++ /dev/null @@ -1,29 +0,0 @@ - -/* -=============================================================================== - -This C header file is part of TestFloat, Release 2a, a package of programs -for testing the correctness of floating-point arithmetic complying to the -IEC/IEEE Standard for Floating-Point. - -Written by John R. Hauser. More information is available through the Web -page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. - -THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort -has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT -TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO -PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY -AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE. - -Derivative works are acceptable, even for commercial purposes, so long as -(1) they include prominent notice that the work is derivative, and (2) they -include prominent notice akin to these four paragraphs for those parts of -this code that are retained. - -=============================================================================== -*/ - -extern char *fail_programName; - -void fail( const char *, ... ); - diff --git a/tools/test/testfloat/random.c b/tools/test/testfloat/random.c deleted file mode 100644 index 21326c1ff23f..000000000000 --- a/tools/test/testfloat/random.c +++ /dev/null @@ -1,63 +0,0 @@ - -/* -=============================================================================== - -This C source file is part of TestFloat, Release 2a, a package of programs -for testing the correctness of floating-point arithmetic complying to the -IEC/IEEE Standard for Floating-Point. - -Written by John R. Hauser. More information is available through the Web -page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. - -THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort -has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT -TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO -PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY -AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE. - -Derivative works are acceptable, even for commercial purposes, so long as -(1) they include prominent notice that the work is derivative, and (2) they -include prominent notice akin to these four paragraphs for those parts of -this code that are retained. - -=============================================================================== -*/ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include "milieu.h" -#include "random.h" - -uint8 randomUint8( void ) -{ - - return (bits8) ( random()>>4 ); - -} - -uint16 randomUint16( void ) -{ - - return ( random() & 0x0000ffff ); - -} - -uint32 randomUint32( void ) -{ - - return ( ( (uint32) random()<<16) | ( (uint32) random() & 0x0000ffff) ); -} - -#ifdef BITS64 - -uint64 randomUint64( void ) -{ - - return ( ( (uint64) randomUint32() )<<32 ) | randomUint32(); - -} - -#endif - diff --git a/tools/test/testfloat/random.h b/tools/test/testfloat/random.h deleted file mode 100644 index 7375499ea965..000000000000 --- a/tools/test/testfloat/random.h +++ /dev/null @@ -1,32 +0,0 @@ - -/* -=============================================================================== - -This C header file is part of TestFloat, Release 2a, a package of programs -for testing the correctness of floating-point arithmetic complying to the -IEC/IEEE Standard for Floating-Point. - -Written by John R. Hauser. More information is available through the Web -page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. - -THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort -has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT -TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO -PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY -AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE. - -Derivative works are acceptable, even for commercial purposes, so long as -(1) they include prominent notice that the work is derivative, and (2) they -include prominent notice akin to these four paragraphs for those parts of -this code that are retained. - -=============================================================================== -*/ - -uint8 randomUint8( void ); -uint16 randomUint16( void ); -uint32 randomUint32( void ); -#ifdef BITS64 -uint64 randomUint64( void ); -#endif - diff --git a/tools/test/testfloat/slowfloat-32.c b/tools/test/testfloat/slowfloat-32.c deleted file mode 100644 index 549654b05e63..000000000000 --- a/tools/test/testfloat/slowfloat-32.c +++ /dev/null @@ -1,1183 +0,0 @@ - -/* -=============================================================================== - -This C source file is part of TestFloat, Release 2a, a package of programs -for testing the correctness of floating-point arithmetic complying to the -IEC/IEEE Standard for Floating-Point. - -Written by John R. Hauser. More information is available through the Web -page `http://HTTP.CS.Berkeley.EDU/~jhauser/arithmetic/TestFloat.html'. - -THIS SOFTWARE IS DISTRIBUTED AS IS, FOR FREE. Although reasonable effort -has been made to avoid it, THIS SOFTWARE MAY CONTAIN FAULTS THAT WILL AT -TIMES RESULT IN INCORRECT BEHAVIOR. USE OF THIS SOFTWARE IS RESTRICTED TO -PERSONS AND ORGANIZATIONS WHO CAN AND WILL TAKE FULL RESPONSIBILITY FOR ANY -AND ALL LOSSES, COSTS, OR OTHER PROBLEMS ARISING FROM ITS USE. - -Derivative works are acceptable, even for commercial purposes, so long as -(1) they include prominent notice that the work is derivative, and (2) they -include prominent notice akin to these four paragraphs for those parts of -this code that are retained. - -=============================================================================== -*/ - -int8 slow_float_rounding_mode; -int8 slow_float_exception_flags; -int8 slow_float_detect_tininess; - -typedef struct { - bits32 a0, a1; -} bits64X; - -typedef struct { - flag isNaN; - flag isInf; - flag isZero; - flag sign; - int16 exp; - bits64X sig; -} floatX; - -static const floatX floatXNaN = { TRUE, FALSE, FALSE, FALSE, 0, { 0, 0 } }; -static const floatX floatXPositiveZero = - { FALSE, FALSE, TRUE, FALSE, 0, { 0, 0 } }; -static const floatX floatXNegativeZero = - { FALSE, FALSE, TRUE, TRUE, 0, { 0, 0 } }; - -static bits64X shortShift64Left( bits64X a, int8 shiftCount ) -{ - int8 negShiftCount; - - negShiftCount = ( - shiftCount & 31 ); - a.a0 = ( a.a0<>negShiftCount ); - a.a1 <<= shiftCount; - return a; - -} - -static bits64X shortShift64RightJamming( bits64X a, int8 shiftCount ) -{ - int8 negShiftCount; - bits32 extra; - - negShiftCount = ( - shiftCount & 31 ); - extra = a.a1<>shiftCount ) | ( extra != 0 ); - a.a0 >>= shiftCount; - return a; - -} - -static bits64X neg64( bits64X a ) -{ - - if ( a.a1 == 0 ) { - a.a0 = - a.a0; - } - else { - a.a1 = - a.a1; - a.a0 = ~ a.a0; - } - return a; - -} - -static bits64X add64( bits64X a, bits64X b ) -{ - - a.a1 += b.a1; - a.a0 += b.a0 + ( a.a1 < b.a1 ); - return a; - -} - -static flag eq64( bits64X a, bits64X b ) -{ - - return ( a.a0 == b.a0 ) && ( a.a1 == b.a1 ); - -} - -static flag le64( bits64X a, bits64X b ) -{ - - return ( a.a0 < b.a0 ) || ( ( a.a0 == b.a0 ) && ( a.a1 <= b.a1 ) ); - -} - -static flag lt64( bits64X a, bits64X b ) -{ - - return ( a.a0 < b.a0 ) || ( ( a.a0 == b.a0 ) && ( a.a1 < b.a1 ) ); - -} - -static floatX roundFloatXTo24( flag isTiny, floatX zx ) -{ - - if ( zx.sig.a1 ) { - slow_float_exception_flags |= float_flag_inexact; - if ( isTiny ) slow_float_exception_flags |= float_flag_underflow; - switch ( slow_float_rounding_mode ) { - case float_round_nearest_even: - if ( zx.sig.a1 < 0x80000000 ) goto noIncrement; - if ( ( zx.sig.a1 == 0x80000000 ) && ! ( zx.sig.a0 & 1 ) ) { - goto noIncrement; - } - break; - case float_round_to_zero: - goto noIncrement; - case float_round_down: - if ( ! zx.sign ) goto noIncrement; - break; - case float_round_up: - if ( zx.sign ) goto noIncrement; - break; - } - ++zx.sig.a0; - if ( zx.sig.a0 == 0x01000000 ) { - zx.sig.a0 = 0x00800000; - ++zx.exp; - } - } - noIncrement: - zx.sig.a1 = 0; - return zx; - -} - -static floatX roundFloatXTo53( flag isTiny, floatX zx ) -{ - int8 roundBits; - - roundBits = zx.sig.a1 & 7; - zx.sig.a1 -= roundBits; - if ( roundBits ) { - slow_float_exception_flags |= float_flag_inexact; - if ( isTiny ) slow_float_exception_flags |= float_flag_underflow; - switch ( slow_float_rounding_mode ) { - case float_round_nearest_even: - if ( roundBits < 4 ) goto noIncrement; - if ( ( roundBits == 4 ) && ! ( zx.sig.a1 & 8 ) ) goto noIncrement; - break; - case float_round_to_zero: - goto noIncrement; - case float_round_down: - if ( ! zx.sign ) goto noIncrement; - break; - case float_round_up: - if ( zx.sign ) goto noIncrement; - break; - } - zx.sig.a1 += 8; - zx.sig.a0 += ( zx.sig.a1 == 0 ); - if ( zx.sig.a0 == 0x01000000 ) { - zx.sig.a0 = 0x00800000; - ++zx.exp; - } - } - noIncrement: - return zx; - -} - -static floatX int32ToFloatX( int32 a ) -{ - floatX ax; - - ax.isNaN = FALSE; - ax.isInf = FALSE; - ax.sign = ( a < 0 ); - ax.sig.a1 = ax.sign ? - a : a; - ax.sig.a0 = 0; - if ( a == 0 ) { - ax.isZero = TRUE; - return ax; - } - ax.isZero = FALSE; - ax.sig = shortShift64Left( ax.sig, 23 ); - ax.exp = 32; - while ( ax.sig.a0 < 0x00800000 ) { - ax.sig = shortShift64Left( ax.sig, 1 ); - --ax.exp; - } - return ax; - -} - -static int32 floatXToInt32( floatX ax ) -{ - int8 savedExceptionFlags; - int16 shiftCount; - int32 z; - - if ( ax.isInf || ax.isNaN ) { - slow_float_exception_flags |= float_flag_invalid; - return ( ax.isInf & ax.sign ) ? 0x80000000 : 0x7FFFFFFF; - } - if ( ax.isZero ) return 0; - savedExceptionFlags = slow_float_exception_flags; - shiftCount = 52 - ax.exp; - if ( 56 < shiftCount ) { - ax.sig.a1 = 1; - ax.sig.a0 = 0; - } - else { - while ( 0 < shiftCount ) { - ax.sig = shortShift64RightJamming( ax.sig, 1 ); - --shiftCount; - } - } - ax = roundFloatXTo53( FALSE, ax ); - ax.sig = shortShift64RightJamming( ax.sig, 3 ); - z = ax.sig.a1; - if ( ax.sign ) z = - z; - if ( ( shiftCount < 0 ) - || ax.sig.a0 - || ( ( z != 0 ) && ( ( ax.sign ^ ( z < 0 ) ) != 0 ) ) - ) { - slow_float_exception_flags = savedExceptionFlags | float_flag_invalid; - return ax.sign ? 0x80000000 : 0x7FFFFFFF; - } - return z; - -} - -static floatX float32ToFloatX( float32 a ) -{ - int16 expField; - floatX ax; - - ax.isNaN = FALSE; - ax.isInf = FALSE; - ax.isZero = FALSE; - ax.sign = ( ( a & 0x80000000 ) != 0 ); - expField = ( a>>23 ) & 0xFF; - ax.sig.a1 = 0; - ax.sig.a0 = a & 0x007FFFFF; - if ( expField == 0 ) { - if ( ax.sig.a0 == 0 ) { - ax.isZero = TRUE; - } - else { - expField = 1 - 0x7F; - do { - ax.sig.a0 <<= 1; - --expField; - } while ( ax.sig.a0 < 0x00800000 ); - ax.exp = expField; - } - } - else if ( expField == 0xFF ) { - if ( ax.sig.a0 == 0 ) { - ax.isInf = TRUE; - } - else { - ax.isNaN = TRUE; - } - } - else { - ax.sig.a0 |= 0x00800000; - ax.exp = expField - 0x7F; - } - return ax; - -} - -static float32 floatXToFloat32( floatX zx ) -{ - floatX savedZ; - flag isTiny; - int16 expField; - float32 z; - - if ( zx.isZero ) return zx.sign ? 0x80000000 : 0; - if ( zx.isInf ) return zx.sign ? 0xFF800000 : 0x7F800000; - if ( zx.isNaN ) return 0xFFFFFFFF; - while ( 0x01000000 <= zx.sig.a0 ) { - zx.sig = shortShift64RightJamming( zx.sig, 1 ); - ++zx.exp; - } - while ( zx.sig.a0 < 0x00800000 ) { - zx.sig = shortShift64Left( zx.sig, 1 ); - --zx.exp; - } - savedZ = zx; - isTiny = - ( slow_float_detect_tininess == float_tininess_before_rounding ) - && ( zx.exp + 0x7F <= 0 ); - zx = roundFloatXTo24( isTiny, zx ); - expField = zx.exp + 0x7F; - if ( 0xFF <= expField ) { - slow_float_exception_flags |= - float_flag_overflow | float_flag_inexact; - if ( zx.sign ) { - switch ( slow_float_rounding_mode ) { - case float_round_nearest_even: - case float_round_down: - z = 0xFF800000; - break; - case float_round_to_zero: - case float_round_up: - z = 0xFF7FFFFF; - break; - } - } - else { - switch ( slow_float_rounding_mode ) { - case float_round_nearest_even: - case float_round_up: - z = 0x7F800000; - break; - case float_round_to_zero: - case float_round_down: - z = 0x7F7FFFFF; - break; - } - } - return z; - } - if ( expField <= 0 ) { - isTiny = TRUE; - zx = savedZ; - expField = zx.exp + 0x7F; - if ( expField < -27 ) { - zx.sig.a1 = ( zx.sig.a0 != 0 ) || ( zx.sig.a1 != 0 ); - zx.sig.a0 = 0; - } - else { - while ( expField <= 0 ) { - zx.sig = shortShift64RightJamming( zx.sig, 1 ); - ++expField; - } - } - zx = roundFloatXTo24( isTiny, zx ); - expField = ( 0x00800000 <= zx.sig.a0 ) ? 1 : 0; - } - z = expField; - z <<= 23; - if ( zx.sign ) z |= 0x80000000; - z |= zx.sig.a0 & 0x007FFFFF; - return z; - -} - -static floatX float64ToFloatX( float64 a ) -{ - int16 expField; - floatX ax; - - ax.isNaN = FALSE; - ax.isInf = FALSE; - ax.isZero = FALSE; -#ifdef BITS64 - ax.sign = ( ( a & LIT64( 0x8000000000000000 ) ) != 0 ); - expField = ( a>>52 ) & 0x7FF; - ax.sig.a1 = a; - ax.sig.a0 = ( a>>32 ) & 0x000FFFFF; -#else - ax.sign = ( ( a.high & 0x80000000 ) != 0 ); - expField = ( a.high>>( 52 - 32 ) ) & 0x7FF; - ax.sig.a1 = a.low; - ax.sig.a0 = a.high & 0x000FFFFF; -#endif - if ( expField == 0 ) { - if ( ( ax.sig.a0 == 0 ) && ( ax.sig.a1 == 0 ) ) { - ax.isZero = TRUE; - } - else { - expField = 1 - 0x3FF; - do { - ax.sig = shortShift64Left( ax.sig, 1 ); - --expField; - } while ( ax.sig.a0 < 0x00100000 ); - ax.exp = expField; - } - } - else if ( expField == 0x7FF ) { - if ( ( ax.sig.a0 == 0 ) && ( ax.sig.a1 == 0 ) ) { - ax.isInf = TRUE; - } - else { - ax.isNaN = TRUE; - } - } - else { - ax.exp = expField - 0x3FF; - ax.sig.a0 |= 0x00100000; - } - ax.sig = shortShift64Left( ax.sig, 3 ); - return ax; - -} - -static float64 floatXToFloat64( floatX zx ) -{ - floatX savedZ; - flag isTiny; - int16 expField; - float64 z; - -#ifdef BITS64 - if ( zx.isZero ) return zx.sign ? LIT64( 0x8000000000000000 ) : 0; - if ( zx.isInf ) { - return - zx.sign ? LIT64( 0xFFF0000000000000 ) - : LIT64( 0x7FF0000000000000 ); - } - if ( zx.isNaN ) return LIT64( 0xFFFFFFFFFFFFFFFF ); -#else - if ( zx.isZero ) { - z.low = 0; - z.high = zx.sign ? 0x80000000 : 0; - return z; - } - if ( zx.isInf ) { - z.low = 0; - z.high = zx.sign ? 0xFFF00000 : 0x7FF00000; - return z; - } - if ( zx.isNaN ) { - z.high = z.low = 0xFFFFFFFF; - return z; - } -#endif - while ( 0x01000000 <= zx.sig.a0 ) { - zx.sig = shortShift64RightJamming( zx.sig, 1 ); - ++zx.exp; - } - while ( zx.sig.a0 < 0x00800000 ) { - zx.sig = shortShift64Left( zx.sig, 1 ); - --zx.exp; - } - savedZ = zx; - isTiny = - ( slow_float_detect_tininess == float_tininess_before_rounding ) - && ( zx.exp + 0x3FF <= 0 ); - zx = roundFloatXTo53( isTiny, zx ); - expField = zx.exp + 0x3FF; - if ( 0x7FF <= expField ) { - slow_float_exception_flags |= - float_flag_overflow | float_flag_inexact; -#ifdef BITS64 - if ( zx.sign ) { - switch ( slow_float_rounding_mode ) { - case float_round_nearest_even: - case float_round_down: - z = LIT64( 0xFFF0000000000000 ); - break; - case float_round_to_zero: - case float_round_up: - z = LIT64( 0xFFEFFFFFFFFFFFFF ); - break; - } - } - else { - switch ( slow_float_rounding_mode ) { - case float_round_nearest_even: - case float_round_up: - z = LIT64( 0x7FF0000000000000 ); - break; - case float_round_to_zero: - case float_round_down: - z = LIT64( 0x7FEFFFFFFFFFFFFF ); - break; - } - } -#else - if ( zx.sign ) { - switch ( slow_float_rounding_mode ) { - case float_round_nearest_even: - case float_round_down: - z.low = 0; - z.high = 0xFFF00000; - break; - case float_round_to_zero: - case float_round_up: - z.low = 0xFFFFFFFF; - z.high = 0xFFEFFFFF; - break; - } - } - else { - switch ( slow_float_rounding_mode ) { - case float_round_nearest_even: - case float_round_up: - z.low = 0; - z.high = 0x7FF00000; - break; - case float_round_to_zero: - case float_round_down: - z.low = 0xFFFFFFFF; - z.high = 0x7FEFFFFF; - break; - } - } -#endif - return z; - } - if ( expField <= 0 ) { - isTiny = TRUE; - zx = savedZ; - expField = zx.exp + 0x3FF; - if ( expField < -56 ) { - zx.sig.a1 = ( zx.sig.a0 != 0 ) || ( zx.sig.a1 != 0 ); - zx.sig.a0 = 0; - } - else { - while ( expField <= 0 ) { - zx.sig = shortShift64RightJamming( zx.sig, 1 ); - ++expField; - } - } - zx = roundFloatXTo53( isTiny, zx ); - expField = ( 0x00800000 <= zx.sig.a0 ) ? 1 : 0; - } - zx.sig = shortShift64RightJamming( zx.sig, 3 ); -#ifdef BITS64 - z = expField; - z <<= 52; - if ( zx.sign ) z |= LIT64( 0x8000000000000000 ); - z |= ( ( (bits64) ( zx.sig.a0 & 0x000FFFFF ) )<<32 ) | zx.sig.a1; -#else - z.low = zx.sig.a1; - z.high = expField; - z.high <<= 52 - 32; - if ( zx.sign ) z.high |= 0x80000000; - z.high |= zx.sig.a0 & 0x000FFFFF; -#endif - return z; - -} - -static floatX floatXInvalid( void ) -{ - - slow_float_exception_flags |= float_flag_invalid; - return floatXNaN; - -} - -static floatX floatXRoundToInt( floatX ax ) -{ - int16 shiftCount, i; - - if ( ax.isNaN || ax.isInf ) return ax; - shiftCount = 52 - ax.exp; - if ( shiftCount <= 0 ) return ax; - if ( 55 < shiftCount ) { - ax.exp = 52; - ax.sig.a1 = ! ax.isZero; - ax.sig.a0 = 0; - } - else { - while ( 0 < shiftCount ) { - ax.sig = shortShift64RightJamming( ax.sig, 1 ); - ++ax.exp; - --shiftCount; - } - } - ax = roundFloatXTo53( FALSE, ax ); - if ( ( ax.sig.a0 == 0 ) && ( ax.sig.a1 == 0 ) ) ax.isZero = TRUE; - return ax; - -} - -static floatX floatXAdd( floatX ax, floatX bx ) -{ - int16 expDiff; - floatX zx; - - if ( ax.isNaN ) return ax; - if ( bx.isNaN ) return bx; - if ( ax.isInf && bx.isInf ) { - if ( ax.sign == bx.sign ) return ax; - return floatXInvalid(); - } - if ( ax.isInf ) return ax; - if ( bx.isInf ) return bx; - if ( ax.isZero && bx.isZero ) { - if ( ax.sign == bx.sign ) return ax; - goto completeCancellation; - } - if ( ( ax.sign != bx.sign ) - && ( ax.exp == bx.exp ) - && eq64( ax.sig, bx.sig ) - ) { - completeCancellation: - return - ( slow_float_rounding_mode == float_round_down ) ? - floatXNegativeZero - : floatXPositiveZero; - } - if ( ax.isZero ) return bx; - if ( bx.isZero ) return ax; - expDiff = ax.exp - bx.exp; - if ( expDiff < 0 ) { - zx = ax; - zx.exp = bx.exp; - if ( expDiff < -56 ) { - zx.sig.a1 = 1; - zx.sig.a0 = 0; - } - else { - while ( expDiff < 0 ) { - zx.sig = shortShift64RightJamming( zx.sig, 1 ); - ++expDiff; - } - } - if ( ax.sign != bx.sign ) zx.sig = neg64( zx.sig ); - zx.sign = bx.sign; - zx.sig = add64( zx.sig, bx.sig ); - } - else { - zx = bx; - zx.exp = ax.exp; - if ( 56 < expDiff ) { - zx.sig.a1 = 1; - zx.sig.a0 = 0; - } - else { - while ( 0 < expDiff ) { - zx.sig = shortShift64RightJamming( zx.sig, 1 ); - --expDiff; - } - } - if ( ax.sign != bx.sign ) zx.sig = neg64( zx.sig ); - zx.sign = ax.sign; - zx.sig = add64( zx.sig, ax.sig ); - } - if ( zx.sig.a0 & 0x80000000 ) { - zx.sig = neg64( zx.sig ); - zx.sign = ! zx.sign; - } - return zx; - -} - -static floatX floatXMul( floatX ax, floatX bx ) -{ - int8 bitNum; - floatX zx; - - if ( ax.isNaN ) return ax; - if ( bx.isNaN ) return bx; - if ( ax.isInf ) { - if ( bx.isZero ) return floatXInvalid(); - if ( bx.sign ) ax.sign = ! ax.sign; - return ax; - } - if ( bx.isInf ) { - if ( ax.isZero ) return floatXInvalid(); - if ( ax.sign ) bx.sign = ! bx.sign; - return bx; - } - zx = ax; - zx.sign ^= bx.sign; - if ( ax.isZero || bx.isZero ) { - return zx.sign ? floatXNegativeZero : floatXPositiveZero; - } - zx.exp += bx.exp + 1; - zx.sig.a1 = 0; - zx.sig.a0 = 0; - for ( bitNum = 0; bitNum < 55; ++bitNum ) { - if ( bx.sig.a1 & 2 ) zx.sig = add64( zx.sig, ax.sig ); *** 14610 LINES SKIPPED *** From nobody Sun Aug 6 20:36:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrp00LFKz4mN8L; Sun, 6 Aug 2023 20:36:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrnz6pnwz4bCm; Sun, 6 Aug 2023 20:36:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HciYxtY7cCITsOXeEiZjyyoIYE5+HYLErJbkwKPRiw4=; b=VBQVxteeD1NK7+MOx+XpvTR/SUu1H2T53INUzjkqiarZ0uKUJaNxnLPheA3eRofKEbUIxM f/Pwp7ZGNNSeLAr5eTDKA2GuFXMH+ixfMj8PF+g6nOVL+1GiG13jOGMRx9BcTWXqJ6+MsU B/voTr4vPRXzzbEreQXXAsZf6IGHQLlIdZUYCz0X6W+Vm6TQPR7N1HrIVHpYU01NjpuqkB exzeYzONa3Z+vb8Z0ZXubPSso+PHAvaBtHdkR5QzG7XWTE4pw3xG0xjDDD6Lk90snnqA0Y pQXoSMM8CWFTFqrckJ9NMRDqcqQhtdjFkfdvd6BMt2Xd+QMLHmJ11SjqTxwxfQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354184; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HciYxtY7cCITsOXeEiZjyyoIYE5+HYLErJbkwKPRiw4=; b=oAhO+n75K/rnAtBQ1zjujUiffoUO0hzjmoz4LCqt9xJqBjAGwBvTAaYmHWmfdV4JyHaBMz pl13c438/ZzAZXVB5GT05m2IC5tExV3rlLlqgDBpxAm6Hcao8N2b067OBixjr1Ja3xzMy7 4jPPhrbWsJ5jqgHnQD85RXOhlvdIreHrOxtb3qXP7sEFC0H0srniBz/8PSk9zWaH7WBCYI xJun9KjbeSjbeS0pYuztYjx7F8timtshTZRq74b4q1AcL8usx9RCdTuIIK708mlGlk92m2 M2YUGu7C+GG6xYA80Zc/wVbsCrPzuoN/4lfYEWW3CfqbQOOEXd3L/xu2kXu6rQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354184; a=rsa-sha256; cv=none; b=vSe+CjY9sZCN+FmLf7hcl1EKB9bOg/TY9Nn/m4LqFMZMHhTBl+o17MGDoHn6oOxMNuANwt cxH7PEZSOKCMl76HrX4wAyBvGuSBc0kyNoVjEEbnY51NEmpiK4osuU0cZenfRtQUyt42yX qIgDgOhGBKbPpPNV97bM++pC6GyZHdgq/JF2d9eiu40mhem2/bSwydRXV/rnleW76BpTmC AzO1Tb+3Gf1gMvtLMBj4+C2efx8TY68v04SH8nw9kaBOkip6s9T8fwEhooyE8k8KCz5KHe hMFovm9K7vwdw0kkYRlIPibM1s2/lvNwILN3boTM0dGGQK9ef+6YzHDTRBM0Pg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrnz5pC7z93c; Sun, 6 Aug 2023 20:36:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaNHb042611; Sun, 6 Aug 2023 20:36:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaNZd042610; Sun, 6 Aug 2023 20:36:23 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:23 GMT Message-Id: <202308062036.376KaNZd042610@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 6063ec2f429d - stable/13 - xhci(4): Describe AMD 400 Series USB 3.1 controllers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6063ec2f429d924a36c6b3e8bb706a681cdd6019 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=6063ec2f429d924a36c6b3e8bb706a681cdd6019 commit 6063ec2f429d924a36c6b3e8bb706a681cdd6019 Author: Marius Strobl AuthorDate: 2023-07-22 21:13:46 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:16:30 +0000 xhci(4): Describe AMD 400 Series USB 3.1 controllers While at it, correct the string for 300 series ones, these also are already xHCI 3.1. Fixes: d171d2f2 Add AHCI/XHCI device IDs found on AMD Ryzen+B350 system (cherry picked from commit 83e67a9d14d9cf3830cd52f4f49117bf7220ac49) --- sys/dev/usb/controller/xhci_pci.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/sys/dev/usb/controller/xhci_pci.c b/sys/dev/usb/controller/xhci_pci.c index e6c9c49e6e66..6df85be9c811 100644 --- a/sys/dev/usb/controller/xhci_pci.c +++ b/sys/dev/usb/controller/xhci_pci.c @@ -108,7 +108,9 @@ xhci_pci_match(device_t self) return ("AMD X399 USB 3.0 controller"); case 0x43b91022: /* X370 */ case 0x43bb1022: /* B350 */ - return ("AMD 300 Series USB 3.0 controller"); + return ("AMD 300 Series USB 3.1 controller"); + case 0x43d51022: + return ("AMD 400 Series USB 3.1 controller"); case 0x78121022: case 0x78141022: case 0x79141022: From nobody Sun Aug 6 20:36:24 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrp11QY4z4mNZ1; Sun, 6 Aug 2023 20:36:25 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrp10WKZz4bG1; Sun, 6 Aug 2023 20:36:25 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fBGf2PfYUsDHryfVUPWaedUoBp+uL/gobSKWWwATVXY=; b=bncT6qkHB9cNWp7Q92EqcZxD06v46DmhTNTOrp6CbUDWeP2+fiv9eYiaoQS+sQrlbumE3z GxzU6DTqI2XFYapECbkR8jPNrwDrevepSLtY42vb7NUpZn4GXhX8PM4IlSjS553kdVFaCT DlV53xQEjq9w26BEarzYCqWprwS9IhrcOSl0Wh9jVJviBqNl5f8pjKaWQdlGfLzabrI6G9 E/DZi9rCnnyrjKACQisuiz/waWnQRro+fSYDSygm/BvBI29oVWBlQ2Y3YDY0AzmCPTSOMw SIKZ7KwF9nVta8rxQtanqsdXIQI4mVr6K1nrM423sU76z06j2C+G5rjU+9044Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354185; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=fBGf2PfYUsDHryfVUPWaedUoBp+uL/gobSKWWwATVXY=; b=D73QizM+IOS9kRVFeky2OIFSM+QrOoJCYNtIz+W3w5b8ACy5SHlF5fresdnybJn8tOgqUL XZgbG9bc92CN6RI1Pmvp1oI02W+jTlKOmQApFVQ0qqLJn04C79pW2CJRLWZYEky7kMIGXR Jf//SUojIbmrSb/jSGvG4/GERCyt2IOBV81XfWfsr114k4T5/f26B2Aa4mdkUczuBCIPIV nxW4jTB9YBodLsmKMFb4HF3iYvnAMxjYBLB3he8T7skObWzaeu6usYGmrW9rDJoZ40oeRO pfxwkrWjXhawvr9si+rlGL0iQ5wrWHKvFmmsR4kSSBQ9hjy1UNOmoFCDyZIBFg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354185; a=rsa-sha256; cv=none; b=Uylf2TANE7+GeMTILjzgGE2SZTz8RSkshTbWdA62VKA1s+BakCwnD8nv2wJBeUkRU0rWmS XZvNgx3avxQJYHZh7sqYJ68gOJD5BHzRI567GhLidZtw0XZyqfI6QwjCJ4HDhPSpHBBj98 eNVO2ScpOAOtj/VSeNwMWTS5Cd3lJPo0UzGPAoUz0MPMC30zlV682HpRtJEoBFcgxrlVgy t25rcF9Ogli9/VpilxDIdjRAt1SC1oZIZkVkTMqRq4LsmpF0B+RhANASzkkv3EQqGyjHge Vzlp3w45WygWCbHW45vzO48K6RxPORv0fkToDhEYoLXi4hWvEXmvImpvhLei8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrp06jvXz8L1; Sun, 6 Aug 2023 20:36:24 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaO0C042632; Sun, 6 Aug 2023 20:36:24 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaOof042631; Sun, 6 Aug 2023 20:36:24 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:24 GMT Message-Id: <202308062036.376KaOof042631@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 3b0d328a2def - stable/13 - gif(4): Revert in{,6}_gif_output() misalignment handling List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3b0d328a2defb7a949f6ca5afd83281ceed1b6c8 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=3b0d328a2defb7a949f6ca5afd83281ceed1b6c8 commit 3b0d328a2defb7a949f6ca5afd83281ceed1b6c8 Author: Marius Strobl AuthorDate: 2023-07-19 17:17:43 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:16:57 +0000 gif(4): Revert in{,6}_gif_output() misalignment handling The code added in c89c8a1029860182eece5d51ec09119b9500e5a1 in order to compensate possible misalignment caused by prepending the IP4/6 header with an EtherIP one got broken at some point by a rewrite of gif(4). For better or worse, 8018ac153f7671699ca008f31c0fad9caef2f531 relaxed the alignment of struct ip from 32 bit to 16 bit, though. As a result, a 16 bit offset of the IPv4 header induced by the addition of the 16 bit EtherIP one no longer is a problem in the first place. The alignment of struct ip6_hdr currently is even only 8 bit, making it even less problematic with regards to possible misalignment. Thus, remove the code for handling misalignment in in{,6}_gif_output() altogether again. While at it, replace the 3 bcopy(9) calls in gif(4) with memcpy(9) as there's no need to handle overlap here. (cherry picked from commit e82d7b2952afaf9625a3d7b05d03c43c1d3e7d9c) --- sys/net/if_gif.c | 2 +- sys/net/if_gif.h | 2 -- sys/netinet/in_gif.c | 19 ++----------------- sys/netinet6/in6_gif.c | 19 ++----------------- 4 files changed, 5 insertions(+), 37 deletions(-) diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c index ea4b80690e50..4d2c1dcf091d 100644 --- a/sys/net/if_gif.c +++ b/sys/net/if_gif.c @@ -407,7 +407,7 @@ gif_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, uint32_t af; if (dst->sa_family == AF_UNSPEC) - bcopy(dst->sa_data, &af, sizeof(af)); + memcpy(&af, dst->sa_data, sizeof(af)); else af = RO_GET_FAMILY(ro, dst); /* diff --git a/sys/net/if_gif.h b/sys/net/if_gif.h index 2e61fcc166e1..f8fda6ddf801 100644 --- a/sys/net/if_gif.h +++ b/sys/net/if_gif.h @@ -94,8 +94,6 @@ struct etherip_header { } __packed; #define ETHERIP_VERSION 0x3 -/* mbuf adjust factor to force 32-bit alignment of IP header */ -#define ETHERIP_ALIGN 2 #define GIF_WAIT() epoch_wait_preempt(net_epoch_preempt) diff --git a/sys/netinet/in_gif.c b/sys/netinet/in_gif.c index a9f3d384fb5a..2caa9fcc23e2 100644 --- a/sys/netinet/in_gif.c +++ b/sys/netinet/in_gif.c @@ -272,31 +272,16 @@ in_gif_output(struct ifnet *ifp, struct mbuf *m, int proto, uint8_t ecn) { struct gif_softc *sc = ifp->if_softc; struct ip *ip; - int len; /* prepend new IP header */ NET_EPOCH_ASSERT(); - len = sizeof(struct ip); -#ifndef __NO_STRICT_ALIGNMENT - if (proto == IPPROTO_ETHERIP) - len += ETHERIP_ALIGN; -#endif - M_PREPEND(m, len, M_NOWAIT); + M_PREPEND(m, sizeof(struct ip), M_NOWAIT); if (m == NULL) return (ENOBUFS); -#ifndef __NO_STRICT_ALIGNMENT - if (proto == IPPROTO_ETHERIP) { - len = mtod(m, vm_offset_t) & 3; - KASSERT(len == 0 || len == ETHERIP_ALIGN, - ("in_gif_output: unexpected misalignment")); - m->m_data += len; - m->m_len -= ETHERIP_ALIGN; - } -#endif ip = mtod(m, struct ip *); MPASS(sc->gif_family == AF_INET); - bcopy(sc->gif_iphdr, ip, sizeof(struct ip)); + memcpy(ip, sc->gif_iphdr, sizeof(struct ip)); ip->ip_p = proto; /* version will be set in ip_output() */ ip->ip_ttl = V_ip_gif_ttl; diff --git a/sys/netinet6/in6_gif.c b/sys/netinet6/in6_gif.c index 54cb81c6130f..eed311b86ff2 100644 --- a/sys/netinet6/in6_gif.c +++ b/sys/netinet6/in6_gif.c @@ -290,31 +290,16 @@ in6_gif_output(struct ifnet *ifp, struct mbuf *m, int proto, uint8_t ecn) { struct gif_softc *sc = ifp->if_softc; struct ip6_hdr *ip6; - int len; /* prepend new IP header */ NET_EPOCH_ASSERT(); - len = sizeof(struct ip6_hdr); -#ifndef __NO_STRICT_ALIGNMENT - if (proto == IPPROTO_ETHERIP) - len += ETHERIP_ALIGN; -#endif - M_PREPEND(m, len, M_NOWAIT); + M_PREPEND(m, sizeof(struct ip6_hdr), M_NOWAIT); if (m == NULL) return (ENOBUFS); -#ifndef __NO_STRICT_ALIGNMENT - if (proto == IPPROTO_ETHERIP) { - len = mtod(m, vm_offset_t) & 3; - KASSERT(len == 0 || len == ETHERIP_ALIGN, - ("in6_gif_output: unexpected misalignment")); - m->m_data += len; - m->m_len -= ETHERIP_ALIGN; - } -#endif ip6 = mtod(m, struct ip6_hdr *); MPASS(sc->gif_family == AF_INET6); - bcopy(sc->gif_ip6hdr, ip6, sizeof(struct ip6_hdr)); + memcpy(ip6, sc->gif_ip6hdr, sizeof(struct ip6_hdr)); ip6->ip6_flow |= htonl((uint32_t)ecn << 20); ip6->ip6_nxt = proto; From nobody Sun Aug 6 20:36:25 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrp25Ltqz4mNRt; Sun, 6 Aug 2023 20:36:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrp21Bcbz4bfc; Sun, 6 Aug 2023 20:36:26 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=15x0A83o1ZhYzW2rDneKZj8PaT0knF0GidfEZ7kcSeg=; b=aV/iBSKIZUda6FjxTlOlix3hUiuD+PEv3MXKx+z0SzwtXbazjqMBT2QqVCTPzKKEWhb4xn BEGWW6zwBpKrKpVTymrAAqG/hExdjkUqpFG3T1ghLtReFp6SRnDcqm5keIGBtw1WU3Xid6 uzKRo5IMjLZP93c0JfCNmYXa5qjUghhBbYvM+qZZR391v6mf2guTWfO/L6tqTUAE7jr4Vw exPtDnA1oe7nMaKhGI89R6o48RVDFwuT7l0Y8p0tyByrMZeqiqeUVzzEaqQnRFLlh9fUb9 5GQk6RcECzjcB8nO39CheNWVEIwSbv+sAvKrAp5FSJyMa7rOMz8Y4sOtR0CoJg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354186; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=15x0A83o1ZhYzW2rDneKZj8PaT0knF0GidfEZ7kcSeg=; b=x+nM+d0CJn4jM4Ifnm576otbT4tY6ZW/To2Yv0N83ODMM7xre9s8uUYmi+l7tOhXjoTuvF BGDXjJs51K4fjdIAYBpt9jJLvyYhToKQbKnvSqzzma119SFHv8kRlkFHpxpNTwpFi7lDby t+vE2CeEuZv9y4dnWCEShNhDbXg0eDRNoVfW1zfn2khyD5GUX0kkYHRx7vygIVrcY05kaC L5KeZ3rticRGc6Wjqze4FocCiFlruVhra3DWEQ43SXtpoXeA4VBtK7LHEWfBiXtuVf3YwK JAgFo7MNdQj8xY1HIFtyVJvT6UYZTakSnOkcogT6sRzmuHgBxjXAsyxqrNM7vA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354186; a=rsa-sha256; cv=none; b=l+/DLNFnLRUi1l5KXlpxTjMaT4xu5srcdPIdNgkGsSUsft67k0wdVWz/c3Mgm/obuSADBm dWfKYwcpplGY4w8TEuKK6SJ7ajboe0MrC8g2m4Sd+j1DJ1BfwI9LwbyV4dau7c0dtFNfyQ sJ69L9sC8f9wqMdF+RzYVm+Ek4JKzyYdOQbJtwpX8XdHMYOanGbQs88VeH/Kaoc5vk2+vw m4Z9tz9uraMK72kyiR5UBGMn23bO7QbLTAzmef4drLlUmfP95HVt9qK/mdfCYWOcnXAE+T 2kD+BIL5MjdjjbzIO+MGRMwwUaBclfWWfgZ54jIeUf9Xt+LMYfXpqalkrujbLg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrp20Hl9z8mX; Sun, 6 Aug 2023 20:36:26 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaPIb042653; Sun, 6 Aug 2023 20:36:25 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaPB0042652; Sun, 6 Aug 2023 20:36:25 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:25 GMT Message-Id: <202308062036.376KaPB0042652@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: b59b3443f39d - stable/13 - gif(4): Assert that gif_output() isn't called for EtherIP List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b59b3443f39d2b7d6c631094fde7723e0aec1319 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=b59b3443f39d2b7d6c631094fde7723e0aec1319 commit b59b3443f39d2b7d6c631094fde7723e0aec1319 Author: Marius Strobl AuthorDate: 2023-07-23 16:58:42 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:17:30 +0000 gif(4): Assert that gif_output() isn't called for EtherIP With the current implementation of if_bridge(4), bridge_enqueue() calls gif_transmit() only. Ensure it stays that way so that the expectations in both drivers are either met or changed accordingly. PR: 227450 (cherry picked from commit 8a0308722372a3ac6a94967ae4fe3123842309e2) --- sys/net/if_gif.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/net/if_gif.c b/sys/net/if_gif.c index 4d2c1dcf091d..343c1cd070ad 100644 --- a/sys/net/if_gif.c +++ b/sys/net/if_gif.c @@ -406,6 +406,9 @@ gif_output(struct ifnet *ifp, struct mbuf *m, const struct sockaddr *dst, { uint32_t af; + KASSERT(ifp->if_bridge == NULL, + ("%s: unexpectedly called with bridge attached", __func__)); + if (dst->sa_family == AF_UNSPEC) memcpy(&af, dst->sa_data, sizeof(af)); else From nobody Sun Aug 6 20:36:27 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrp33PR2z4mNV6; Sun, 6 Aug 2023 20:36:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrp32Drbz4bX1; Sun, 6 Aug 2023 20:36:27 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xY6Dle7Npn/9iYNI0eaa+7TGO6VtWSukX+/n8E+NNg8=; b=u+CNSlw4HGO1bVc3izpVU0cm+TYqU0coNmkAJ+9VrbLBu9SYXb+Gnci2xpCq3d6erFcv+i aUSHUig/a5ItX7nYyMkvmjtS6iVcueulP7GFHCBO9xvmno77M2R0C3hZcVcJTTtP8x1gQL MafSP+6Uxx99tr6U+aFoXycteJwj8rFgQFhSk4PCLB9qP/A1lXZF7+y/J3XQcmKGVW392K 8E7N5cp0Lr+h9FgOEdSHBR/3FcAHMEid/inPG2Pe3G5VR3w20q/K38RuboJNrP2JU8g+fE avefwgC6DLAYjEKjHuFd8aB5o1+s57TVwuIYueXWZ+HQ6MEC9fwWsfj0UNt7Lw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354187; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=xY6Dle7Npn/9iYNI0eaa+7TGO6VtWSukX+/n8E+NNg8=; b=Q/SCNC4DQUAJOZWFZWCLiSg1Hr0QYx3E+JjvTfpOFx6Td43jLWWBObjvUhL1lcTV4QaYW5 jgYschq3bLQaqRvY/6Bdzkmb7iefjP9n/m3F1/u3zdx5LMz6qENBOpSjE11hLBX73omvPS 8sNVRtxFqoKVmENkZa1CnLPLrBZNByMWEbP81hQkxAdnp6vSRUERkMmifzNBIs8VP/73wO mzuneZY65T1GOAdNM+RYcbkaOT9gIPJfCd1OZ8rBdeP7kQnMFT1jvwBDYCpWuhaCRPpHtN /4z7r4BjWO0QVdXM3k6ErAqMgrYgZhL99LWXrkMdLj4HjhUugJOX/cB7UgW+dQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354187; a=rsa-sha256; cv=none; b=ybTs/K5BNbVY43kkoRssMl1PW95Q3IXbXltTixHqGSmMeeWDCkAQLeMUbKtL7K7UJBoByQ 8BA1qAXU+qaAr/eknI5mcnK4xw3EbpqfU8pjM7lkxE32ScwbQd5P98jHC2XVsJ/E/SkOrH wW5LvqgTaIy+nYQKiu/zf+v9RqwUQLIrLCp2dxkdMF7xOGS44bY8UKNxDTUDKzljLkNnU4 bCXI2dmYEjBMbyVhtH/fS762/NM9myvifXZXOd06fAXIDuHQJqXwAvmVGgF/1fp+jUSf7w iG/TaKSUEFp6CFLeXW8IckOIs4mrWB74rXyTrgQXvgSQC+2NmcgKhvZdXqufNg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrp31L4jz8xd; Sun, 6 Aug 2023 20:36:27 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaRvc042672; Sun, 6 Aug 2023 20:36:27 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaRuv042671; Sun, 6 Aug 2023 20:36:27 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:27 GMT Message-Id: <202308062036.376KaRuv042671@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 0dac0289c775 - stable/13 - ofw(4): Add my copyright and additional history for ofw_reg_to_paddr() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0dac0289c77505f48cafaee6537b59f343c2f4ce Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=0dac0289c77505f48cafaee6537b59f343c2f4ce commit 0dac0289c77505f48cafaee6537b59f343c2f4ce Author: Marius Strobl AuthorDate: 2023-07-26 07:38:53 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:21:40 +0000 ofw(4): Add my copyright and additional history for ofw_reg_to_paddr() The ofw_reg_to_paddr() in this file is the powerpc OF_decode_addr() formerly added in 812403402e0bc2165c03e37c6f657c7405f95c15. However, the latter function in turn was based on the sparc64 counterpart I previously added in 2b2250b149706f492dd615a518aa669e39b78d0a. (cherry picked from commit 29fe5efc8aad3b283f2f53f24dc8ee3f3d0d6a58) --- sys/dev/ofw/ofw_subr.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/sys/dev/ofw/ofw_subr.c b/sys/dev/ofw/ofw_subr.c index ec69e203dafd..c50ae056d022 100644 --- a/sys/dev/ofw/ofw_subr.c +++ b/sys/dev/ofw/ofw_subr.c @@ -1,4 +1,5 @@ /*- + * Copyright (c) 2005 by Marius Strobl * Copyright (c) 2015 Ian Lepore * All rights reserved. * @@ -26,6 +27,8 @@ * The initial ofw_reg_to_paddr() implementation has been copied from powerpc * ofw_machdep.c OF_decode_addr(). It was added by Marcel Moolenaar, who did not * assert copyright with the addition but still deserves credit for the work. + * The powerpc OF_decode_addr() in turn was based on the sparc64 counterpart + * written by Marius Strobl. */ #include From nobody Sun Aug 6 20:36:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrp454nhz4mNRx; Sun, 6 Aug 2023 20:36:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrp4429Yz4bd6; Sun, 6 Aug 2023 20:36:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tA/noNIXOSOr3NCrvMiOoGHldB862Ym/Pa+UYoL0kbY=; b=BzIb6+66TiAqI6Z1QYqBz+jRGsD/hdkHG7F7ZiV2hCNfUQ1ZfTBS3xW/qJ08f/BmMPc9l1 W/ULD9xO7Ikw4dxFVvbQjjRlDHVxWRXBj9vToM34Fy3qmXuMqfsU5bLc52MLnGkhk7IaDC JcvA3PhaM3xkqCOhjZn8hrII/WVpYxJfUh2tf1/pNbQRKHTBzvPWVPT3ZkkIRAgRzht1Ck W7gF5kXpCTeJrAr8Q9xwiCBGZkHV9hhPgCYybT4DMJO38bb9U8kLGPy7C49gRjHmAAK0dj 5rhhvHMJQ42t6v4qdviXYhoCe4FTDH9KcWTJsC3JmjLePj/Vl7i7Q03p30Qg4A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354188; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tA/noNIXOSOr3NCrvMiOoGHldB862Ym/Pa+UYoL0kbY=; b=iekc+EY9CA7bsO+lVgktMHXe+8hUaePajwF0dEEFLvfJiUHlnLrf9GIzjq4aUFE/C5WOhO sY46LHV1wjVu9CV+ZbkyHxqQwOBQOIrQhdyXPwUKblgrGshgfEs6BY+qcxgFmU80W2Uxas DfT76ZodilgQGOKORsex2e8t0NyRgEfvFa4Bhqx4BPgX+IV4nAPJUKdpIpSOMw/5fyYgn1 WEp4pjGFX8mAMGfFj8WcEfxb4Peabq3BHQEmzPUESPrXRLCIVJlkkAup0aXjAhLtlJ1+El dbgr3E8BVWWSgwWc5GLAw0ogOV2S9Us/O7Htee8wtNoXlch79tc8fLLZbeFJ+A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354188; a=rsa-sha256; cv=none; b=p/h1h8e5Va+yAau3DN/2a4nO5UOv+EdHQY070c2JByAWqXSvwJfpZk/2DAFH4jL2A+aizs x2V0VHg++vH/IGs6/a8RMcIMcY+rKg7jidLPnvLHGmY9VyIObiU+BSIDukD8dzi8NfFLbD LNSqEo3soLPLlyzQ2h239z0mVS65AV1fXPaniytyt7abbm96uKRMcayc9wf8mxSoW8IlY+ 6+q4ruFDdpX5ydRQHoOU4LyQ/6S0B4ADtExPODuhoC+sTD3R2vG5YVu+fDmhpbmnnMkfe/ 8GNL8FWJKWIqR8VHp79O+sXFgWuwuMxZABku2K2pywUq+WvVXW2413IiCAoJsw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrp421HPz91D; Sun, 6 Aug 2023 20:36:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaSPL042697; Sun, 6 Aug 2023 20:36:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaSPR042696; Sun, 6 Aug 2023 20:36:28 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:28 GMT Message-Id: <202308062036.376KaSPR042696@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 20972319d2ee - stable/13 - Fix dead reference to boot0(8) to point to boot0cfg(8). List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 20972319d2eebda83a27081756a5d85fc4ec875f Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=20972319d2eebda83a27081756a5d85fc4ec875f commit 20972319d2eebda83a27081756a5d85fc4ec875f Author: Jens Schweikhardt AuthorDate: 2022-09-16 17:08:22 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:26:38 +0000 Fix dead reference to boot0(8) to point to boot0cfg(8). (cherry picked from commit cf13e67730d232eb637987306b13bda100671d97) --- lib/geom/part/gpart.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/geom/part/gpart.8 b/lib/geom/part/gpart.8 index 832f53d1bfc6..31299831ba6b 100644 --- a/lib/geom/part/gpart.8 +++ b/lib/geom/part/gpart.8 @@ -221,7 +221,7 @@ MBR bootcode contains Volume Serial Number by default, and .Nm tries to preserve it when installing new bootstrap code. This option skips preservation to help with some versions of -.Xr boot0 8 +.Xr boot0cfg 8 that do not support Volume Serial Number. .It Fl b Ar bootcode Embed bootstrap code from the file From nobody Sun Aug 6 20:36:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrp54DVPz4mNFp; Sun, 6 Aug 2023 20:36:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrp53f9nz4bZd; Sun, 6 Aug 2023 20:36:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EAzsSPrSu4IxJE85u6tQaBqruIFSSV+SNVIw4Ozh1T4=; b=fyi/zaQb8lWbYUwH5IFLcAKOgkwejnh6V1fVN1vQEpuShMCuBk+dOJLXxc4qQXOZ4WhCZ1 WFb9y5APixcMTTi1V5G0oYlNlzE5d7DDqeNaVz8EwxQuOf5lcPq26jjXORtZFHNl6Y23xu Orm6qL+6jnb2E60Ng7GXx80eeaz74okdgsdQIRj8L6TQ3CCI1ibyl+cg9/RI12CE7QlcYl PlbCTsl8qS+kyHIr4KZTozpyzLQWVNj4EOnDCe/D2xqxwG6wrV2NSf/16u6o4p8/BF7VX/ o3wbycppQYHqVUVGcxrXFQ+byM8vQbaMi+vyGO9ZJbyDhbEyZmIxWre8BS2iPg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354189; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=EAzsSPrSu4IxJE85u6tQaBqruIFSSV+SNVIw4Ozh1T4=; b=CLkP0TvS+V4cAEkZaZOsDtKC4Gv3H5ywaaG4Fp6sN8Ocaer62hGKOUvo0yC5RSkNiSEG/j 9zaJXDogPXx52lrackMHBFlERs2A6yq2Q+UIaAhmuVu7WiBOLDmnc25I8btHzYgm+AT9tv mZtAUaWGWBP5CGKZ1xwu4djct0K5JN7C7wS2DrSAXWiRxPfgNipb3xX+EilrDKYsvFhRsp 6XJbYnFbJ7TqlahW36qi4ZlSfHzj9z5p17qHEKt0rhAmCcJLPlYfofCQhrXe3mGt0znzC3 /XVhy97c6kQ3j6dOHv+vE+RpqzwtOSG/ZBJttsUcgQ460NnvmKjXXkVaddaeqQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354189; a=rsa-sha256; cv=none; b=QGx5X8w2Vu0QRZEtMT2FTfABFXpKiNmlUhoLAYW9dKvA7E3RSHdBxae71l21Z+kPE+/hXi FjolW8QtzFCYJ9AT6WM8MyrwLwPBpvesIK3G/EQIxiPMP/VYHK9N1Wlaqcsj6x2YPzDo4a C+3ENxwJOmrUBJYG2VW8qfytgxU+X2Af8GHt2LLEVxDP8i1AedReXjEikooorWx0/JBrfy PMd83RC9TB0tcEMVCOOS/vHIvakHdEka6lqTsn705tIi3hpg+OcMmWTYb6QMHBbenUjKhy XFpk2U1gKUlz7crSGwamnPOIqJsBVvsxbZQxTan0m1bHqgSzXEG67EAlnIS3Zg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrp52lpwz8kX; Sun, 6 Aug 2023 20:36:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaTQS042716; Sun, 6 Aug 2023 20:36:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaTu9042715; Sun, 6 Aug 2023 20:36:29 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:29 GMT Message-Id: <202308062036.376KaTu9042715@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 7bf80c94f7ae - stable/13 - gpart(8): Refer to a related manual page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7bf80c94f7ae927ef7d73004392fa3b92301a853 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=7bf80c94f7ae927ef7d73004392fa3b92301a853 commit 7bf80c94f7ae927ef7d73004392fa3b92301a853 Author: Tom Hukins AuthorDate: 2023-06-02 02:41:27 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:28:30 +0000 gpart(8): Refer to a related manual page Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/702 (cherry picked from commit d275d2e3d375ae3c60fde1d7b1fc2f4b1c3fb4ef) --- lib/geom/part/gpart.8 | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/lib/geom/part/gpart.8 b/lib/geom/part/gpart.8 index 31299831ba6b..35e2d904a2d0 100644 --- a/lib/geom/part/gpart.8 +++ b/lib/geom/part/gpart.8 @@ -551,7 +551,9 @@ Requires the .Cd GEOM_PART_APM kernel option. .It Cm BSD -Traditional BSD disklabel, usually used to subdivide MBR partitions. +Traditional BSD +.Xr disklabel 8 , +usually used to subdivide MBR partitions. .Po This scheme can also be used as the sole partitioning method, without an MBR. From nobody Sun Aug 6 20:36:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrp656s9z4mNWg; Sun, 6 Aug 2023 20:36:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrp64dxxz4bpQ; Sun, 6 Aug 2023 20:36:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fql286rnDoBed0yhmZCTj8fDXga+ElPaEL+mbSaWr3E=; b=cSBXLBFUDl1QKjZz7S0CO4/qTMNxBu9p7sSPWWEkLGzqsbPebg+Mfeoc9cnUz7kci1xFyA 8/0Xx4b3+9TasGdbUQLDztX+lw8zfdFrLNrciZy/vJAtV3mgGRxIQNmfmBDIVYWuxsxPeS U8lzORGXvVx58veG6Md2uE1SgY+ElHK2qeh9PE+AjC/bF/kK/F/4ivNR831eIc92SOdCZI t2xUQudrGFNzpSNDWTCQAWpKOz7t0bAAOIvMZt19+9/rvyPdnvQcjtTJUAuOdyn9hJMByg MtufwNIKnbGWHMkPD3CSv/AkCSPNwFjLQPxPEjFDLraj1zkFJuF7outcGMt+FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354190; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Fql286rnDoBed0yhmZCTj8fDXga+ElPaEL+mbSaWr3E=; b=l+H1DWThoAFi320s4LiRMKVJjJSGruTOEw8SqJ/CoEj2quIJdDVO5y5PESfbWMdW/F8y2y vhz/Az7hfdzQR4ciMfMWnXcvAmT+HhcljbliBtdZ9FIPoeGeCmaUhnrstw7p+Z4kqnDpgM SmVYFH8M0zeh8MaKyL+APAKOuQ8vijf43ZtqKaEGhO1NmYfeh7BzhOobR9fu7i7g3+gtw1 F11ZxxvRomfXOp66FjKmZUnt2AdcnmrxvF31D4sdDhVsDhVBe6Ts6Acp/dHx9BOdLBgsbq myTn2m2Q4w/GnMxOij9IAfgUUoBWYxUTlOMSjZwpioBZuPNWyecl7EI6eGkZEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354190; a=rsa-sha256; cv=none; b=yNooYUs4Eg1io79eN6x5Qcf1waTXjJLRxDFq83nk1iVgbHHja6BOC79IfCbB5m62zK4XIw ufYYuEN+XmN52hEN1FORtI8mB84wv7Y7gmR62+l08hBfzdtVfnBnC7711F9T5J1qSbUbEa rc6SByjEti4gB9cyXVOCj8OENzZ7KFvL+sQce9RnzIKecAgDsIk1hcSiyUvBGJPYdViQnr cHBr+SwpTsXcqE6lXGs71uayKn1EMqIZlhw7Dx9rI8St/1suCs5atujxI1jveVUYwaLpoT gnYv8k2zbI0UijNHN0F3/ojbRfq1NVeLUUomKogdp/awyNkmP/6tUnn5GMRtkw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrp63kZxz91F; Sun, 6 Aug 2023 20:36:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaUoj042735; Sun, 6 Aug 2023 20:36:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaUft042734; Sun, 6 Aug 2023 20:36:30 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:30 GMT Message-Id: <202308062036.376KaUft042734@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: e8d85eaf1c6a - stable/13 - cam(3): Add a manual page cross reference List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e8d85eaf1c6a908a377c266617936231bddb230b Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=e8d85eaf1c6a908a377c266617936231bddb230b commit e8d85eaf1c6a908a377c266617936231bddb230b Author: Tom Hukins AuthorDate: 2023-06-02 02:41:27 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:36:50 +0000 cam(3): Add a manual page cross reference Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/702 (cherry picked from commit 3e1af044c9b33109b48bcca1c8c27bbe91836d37) --- lib/libcam/cam.3 | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/lib/libcam/cam.3 b/lib/libcam/cam.3 index 5e8eb61698c4..b8ed66c4dcb5 100644 --- a/lib/libcam/cam.3 +++ b/lib/libcam/cam.3 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd November 23, 2020 +.Dd March 27, 2023 .Dt CAM 3 .Os .Sh NAME @@ -121,7 +121,8 @@ .Fc .Sh DESCRIPTION The CAM library consists of a number of functions designed to aid in -programming with the CAM subsystem. +programming with the CAM subsystem described in +.Xr cam 4 . This man page covers the basic set of library functions. More functions are documented in the man pages listed From nobody Sun Aug 6 20:36:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrp80lKFz4mNFt; Sun, 6 Aug 2023 20:36:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrp75tDkz4bxV; Sun, 6 Aug 2023 20:36:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5kLwuL1rZY3HaJ5MU0jMci7e1aS91TtQUWd4GHSgFbg=; b=ATR5q09v6gdgsWmn5DpuDTiuC3uYaZ3fu5aJq1Pfdp1r4m1Tphxau5FRewvfhI+U6WkM0c GXGDY5IXwM7KEx59gGW9cg6+O6ggvXkGni0xiO/XfRKL9qN3YhOaMrkBeH74fsAkNSYmv8 EZb6J2MVlMyY9ui73daELQqhEAFivJoJtcdN1gc+I8ajzXuT72YskkIzRbeRQGLQVhth1S ERNdheELTzC/ZqUCjH8aGBg8h3v4KE1ULaKk2dx+9dzdso8fndXG0NGBjntR0LByOyT2yI o7OZqSPwLbmcinDwvTbAfbMMnXuVGRcYjaGRVpKvaiqHbtkwgUZ+kVywTulWYw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354191; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5kLwuL1rZY3HaJ5MU0jMci7e1aS91TtQUWd4GHSgFbg=; b=ezkO1wRqQG6M4QExoCD/CRmbZNjE4nVM1SIUP+Btrz1A0ZmnMko2XleOWPgxI2IZfvyOsT 7hxU7ZMu4S54v/8ne+qHOR/lvr4/yiT5j0ivarX9rwpfXZ9KMO1wD5fA1Z38pJwfzsgVLH PZNU3L8LLOLqPKSZ+3NF0K6WTJdi13QfVRlS/67benCnj8JpHHBWZPRjoT/mIKGe72g/nT VECh6zL1htwvPbCEYiMd5NUTO6frNncwhUgvHUWoKqqYt7ryFqBSOSRBevJv9j9s+FNATW nAgCWn2yTW4S7PX5AZKZ9K/3uopOe/qR2zsFVKt5xOht2zGDpYbvYlK1yonjWw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354191; a=rsa-sha256; cv=none; b=uojF6TrtpbTPsrghDvqHzbDqO62zEesJM2AjRMXcMQVXOA4yIvbQLPYC1UtG0H0F0MiIfg jCz6CFuhQHT1+4ErR/ZTX19ic1E+tajgiMTW66A3c4gstKHyhuAp2SpVo03sSa+ggurzpN 60ErPEmWugdmUg/pIryCT86DZK2X9ogi70v5FexuP6+4D2b0wveI78tSLLIJ0+cQi9T9xv jjNiTCA/e1AOPw95nnE28blQiLSq3JEQXeIAd2sEQaPT79U089QDmDxoIEDb34sDLPmpR3 /LN+VTEW2tJVUfaTAahyE7eEaX/hmHf0f45Sh+3CPAep/c4gE2vcIDnR/pNNSQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrp74z6Nz8L2; Sun, 6 Aug 2023 20:36:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaVwT042754; Sun, 6 Aug 2023 20:36:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaVF0042753; Sun, 6 Aug 2023 20:36:31 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:31 GMT Message-Id: <202308062036.376KaVF0042753@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: a38661a36b5e - stable/13 - update external URL List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a38661a36b5e489ad2ca986ec3d44eaa443b7c3e Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=a38661a36b5e489ad2ca986ec3d44eaa443b7c3e commit a38661a36b5e489ad2ca986ec3d44eaa443b7c3e Author: Wolfram Schneider AuthorDate: 2022-02-05 17:09:48 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:38:04 +0000 update external URL (cherry picked from commit c918f50f8bdf7fb34707df5bb2faa719336fb808) --- sbin/camcontrol/camcontrol.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/camcontrol/camcontrol.8 b/sbin/camcontrol/camcontrol.8 index 236ddd8c479d..dc010530fbba 100644 --- a/sbin/camcontrol/camcontrol.8 +++ b/sbin/camcontrol/camcontrol.8 @@ -1796,7 +1796,7 @@ One of those two options is required. Persistent reservations are complex, and fully explaining them is outside the scope of this manual. Please visit -http://www.t10.org +https://www.t10.org and download the latest SPC spec for a full explanation of persistent reservations. .Bl -tag -width 8n From nobody Sun Aug 6 20:36:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrp90BC4z4mNZF; Sun, 6 Aug 2023 20:36:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrp86p0qz4c1C; Sun, 6 Aug 2023 20:36:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354192; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HTwRwHIQtoEhiKkPEMNn3quqL4rAIMdU9W7p+NULMSw=; b=m1RWqmmYW4sBq5FINb4EKZ0YQH8xLfzlKK9N/v3L7HJDHaC4f/p1tjlVE06We4l/C8PNzj SH7YmOzOj9i7WBu9MNI26tbMAl0tmmvwx8qwmwSW5gTQ0BJ2Va3xidJqRJmgDg7xk92TLJ wuI0f8D1Fe7V4RMCfyaXmD12YI7WW9trgRnpPxTFsdnsk5pWtaabddWqhaDs8HVG/Yb7Y5 D2Raj4aXO4biGj+b54Q7UJ+jX1NUYQRN6bG7bz+LY1pTdm7tzwWhTZ1PRaFUmst6G3zv2/ /m20V/g6R87nA6pI6TcVHHmcuWDmy7Bht/JoDg5UNYI4hzJxMvi9wOSE5EdvUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354193; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=HTwRwHIQtoEhiKkPEMNn3quqL4rAIMdU9W7p+NULMSw=; b=dUv2v6icSKOi0y0sIul3vM3UQ9u3WEysE4kV4UAbccxPtRuDi2CRCgV20gCkgJKJ1AQNMY H1Kzgc8wJhoMJ2tU4yJ8VhMI9RRn3jlWCFJUX9O4OFsqC0HcgMM6upuqQys7b/8n25DQDw ZJzUnjhIX2qiOu3sn1DSZRK68EDk77Bo9ZkWOvldykNPIxwv7aA2OKDrMUUxZeou4P68wh wWO6FJvGsey64SHuAnOIlvC2s6ekQvl3exqM5WACpuKTww0MD8v99JcojR4+W0hZvHbFtB 8/AmW7PDRzGXml925lUwcThp7VHNCpdF7WoNX6QWBV/bB31TOeGI09ldVswbZQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354193; a=rsa-sha256; cv=none; b=gagnsUu9TCMelvv6tmhqzbrN/5MWXPJwOtZiYh2jeF/v93MuGyBCHBlKeqhBG8rHfUsAJZ MyxYfYv1HBcNskZ3JyImrBZGhTheRqMglw44+QNszybJT4U9N/izmfCD8magaBvtvkk0yH U8y2KKBj2s+L1gjfYtdVzxWYtBV1z0gYySoo4SPnYv8jkq+NtHDIPGNNhMnmZ1v3pbnra9 a+P69hjwdX+J8iMcLu+9VqPMn8+AQ1K8OZ3Lng7m8RZgadAP1n6BXxkBdJatu318ys9buJ l1ejkDcMXFWII8LlfrSYvIvWRTJJU0r2Y2F8pTVuNfne1y3WmONVEe+PkLrYbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrp85tgvz8xf; Sun, 6 Aug 2023 20:36:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaWL2042776; Sun, 6 Aug 2023 20:36:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaWnJ042775; Sun, 6 Aug 2023 20:36:32 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:32 GMT Message-Id: <202308062036.376KaWnJ042775@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 3fb913e58d10 - stable/13 - camcontrol(8): Add manual page cross references List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3fb913e58d1027920b6ad8d24dd5ea6d0bff4a91 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=3fb913e58d1027920b6ad8d24dd5ea6d0bff4a91 commit 3fb913e58d1027920b6ad8d24dd5ea6d0bff4a91 Author: Tom Hukins AuthorDate: 2023-06-02 02:41:27 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:38:31 +0000 camcontrol(8): Add manual page cross references Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/702 (cherry picked from commit 2675b8bd3d940e75fc5bfb550c46af5fca262072) --- sbin/camcontrol/camcontrol.8 | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/sbin/camcontrol/camcontrol.8 b/sbin/camcontrol/camcontrol.8 index dc010530fbba..72cad0622ea8 100644 --- a/sbin/camcontrol/camcontrol.8 +++ b/sbin/camcontrol/camcontrol.8 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd October 20, 2021 +.Dd March 27, 2023 .Dt CAMCONTROL 8 .Os .Sh NAME @@ -372,7 +372,8 @@ The .Nm utility is designed to provide a way for users to access and control the .Fx -CAM subsystem. +CAM subsystem described in +.Xr cam 4 . .Pp The .Nm @@ -2910,6 +2911,7 @@ that was created using this format string. .Xr cam 4 , .Xr pass 4 , .Xr xpt 4 , +.Xr diskinfo 8 , .Xr trim 8 , .Xr zonectl 8 .Sh HISTORY From nobody Sun Aug 6 20:36:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrpB2hR4z4mNbt; Sun, 6 Aug 2023 20:36:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrpB1SFwz4blC; Sun, 6 Aug 2023 20:36:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7dasqcTtndseggz/pMIz7jQ22+yjFg18QEHatXUbSO8=; b=dnv2FmrStpyzC+oM5+smJsSafqJLqyN3WU7NBezi3weBV2Jl9iFT0vKXYWNgNF65xFTJ2V /gRYt0Bae1Ukew7eAxruwj/zFTyUJxCYpqG3RulhoJF3u6aHLEvJUik9FWxPAI3IN3QL8b mzVOey4cdC8w8yiZVeh3tWriAQ0orcQGecKHDuz/yDd+2ZKEDBRujg5R0oYnU25+yDrfJm BfnhuhtiUaInfS7dH6SusmHlf4xdRcoE8LVaXdfN3HxdBM+TZTOM6O3aP/unQxWFhc/6z2 ZeTabK2Wxy/F43gI6ez7wiouF6zqmXTNE1GGYuCgumFzIYkkVLSG1FzSpwROUg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354194; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=7dasqcTtndseggz/pMIz7jQ22+yjFg18QEHatXUbSO8=; b=bg72SIJKSxMW4rWfDCetGzxPpguP73svMe7QwYpWzZvrS7YxxabDMXZhG26NEnrSaEkZUx J4+wKBfI328Nr0IqmrO2+56abqbltqddhKKMwGIK2fQTsQQ1B5+HNRnntnlaqpmlil/b4X 0uFNnDJdBR/yIEinauxG323PN+63+R0Efnjc0eo4wMBO5WBYYlS+VUOH1Bwc7MyZpPl09c aoRkwXu1+OFB8L+DvS7mM0hJFNXkbRLJ5Idq0OuIJrFzoFlukFJBvK8dvBmopkG18dUIne 394bUhYdiWn0Bajkuz8+SJcxjPCqrk2091EPeuNSkMJmyAE7RXNkV5BCbdhdEg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354194; a=rsa-sha256; cv=none; b=uVo5Rxs0FyY/uAtDmsgbeVZ3Y3EqXRjaOkmmWuyVmp5dnQwewqfAX3DyTvf6iEvi0xQfVm 6DOEIrzg+55bWaIe/Vr2OmNP1GTCAe38qDm8VjyDv8covkb9oxgehosjg92VoiVkPVHMnq l2D+q25mfU49W7IJeQHo/Ba4kHqthp8/bnQFvAtvo1guO3f2847xSEg0eZu0oQpT9fLdIE M5gnFeM2WYT/8+gQ/JJ0voqCk2XGNWHne8mFvHpHT9z+Md4GPB3gKDPh0O2CkXZacherw4 iIEg/GiqDDtmf1HqEEplWO0DyZqxEvti/9ahXcVu7yaZIhHMWgTz/KS0Bm804Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrp96tDPz8XQ; Sun, 6 Aug 2023 20:36:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaXFT042801; Sun, 6 Aug 2023 20:36:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaX4O042800; Sun, 6 Aug 2023 20:36:33 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:33 GMT Message-Id: <202308062036.376KaX4O042800@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 555a4a30a0a0 - stable/13 - camcontrol(8): Use simpler language List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 555a4a30a0a0eac7cf873dd256bf0ee4fb10a980 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=555a4a30a0a0eac7cf873dd256bf0ee4fb10a980 commit 555a4a30a0a0eac7cf873dd256bf0ee4fb10a980 Author: Tom Hukins AuthorDate: 2023-06-02 02:41:27 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:38:40 +0000 camcontrol(8): Use simpler language Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/702 (cherry picked from commit 2bcbf4d8314654b91f7d688194b047f7151aa955) --- sbin/camcontrol/camcontrol.8 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sbin/camcontrol/camcontrol.8 b/sbin/camcontrol/camcontrol.8 index 72cad0622ea8..4ccf89b5a2a5 100644 --- a/sbin/camcontrol/camcontrol.8 +++ b/sbin/camcontrol/camcontrol.8 @@ -370,7 +370,7 @@ .Sh DESCRIPTION The .Nm -utility is designed to provide a way for users to access and control the +utility allows users to access and control the .Fx CAM subsystem described in .Xr cam 4 . From nobody Sun Aug 6 20:36:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrpC3JpFz4mNS6; Sun, 6 Aug 2023 20:36:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrpC2Cpbz4c65; Sun, 6 Aug 2023 20:36:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0iP3CX+Ldzw7X7CLlbbRCjYJ5jatMMHoGYZlIMB0ttE=; b=pzaJnCSjwGG49lFWgoDiyYIjwp6t/d6J44nIZj1Jv02q1wBfS+2onZTTehY6ccOWFxonwd 21/yxpySFn/0B70R0agttFiUYhTsR0TDT1DJXCJCnxHZQAbAloO8pMHG+zN+RVWvWnPPAu mMZl78nh4JpmtUzdAEz09/y4fgumkJko8J7N7NsF2/HrCjNaWfyXUOG40ZScKc0DuOmsB3 zDkYCDVMUyShhWg45a2T0neBAKvUihG2JWyKYXWWTVcRN055w65+RoU6qghmWdw/y8Pb0v HKWQxn6rmWO+OWhuFM6Z3YcSIiVLoCRTPQQqVd9lpakuIC6oHbR+kHVivLoWEw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354195; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0iP3CX+Ldzw7X7CLlbbRCjYJ5jatMMHoGYZlIMB0ttE=; b=HJVZB+5q6FG47kGwk6NPy47psU+9VGnfKBreHjUwFVPhC374QM6LVQaaHAgQ9Wmiu/vbHr imeVDVNQMb8D/F1RoCsY/KNQ0Pi9biyjk8y0dd26IExa3NzYrP4sPCwXcxot5EJLv9g9rc ieqOPQJ2BAmt8yRwqDIeV+dEIHk5ojfyLUN/WyMKZm55P4/jpUGeCNIQhb7+f3h72VWfu4 CJqTSZoKkn6zjrf6KyOYDz31GSrkgGABWyURiW3WSPrVd4YuLcHgJuHK1sMV1FQoDRdLnH AFGfM+5hfyaDgZ6DARThAlPfctquN+xCmbSAR1x6P2KDrytwVBs8UfqXD+Y4gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354195; a=rsa-sha256; cv=none; b=ThRXTQLqLrNd9blKUh8UfVStjW3wOZm7bU+G/yqHQ2ewcZXyJzUx+h77ROkZmP0SAobAGV xnzNQswXYxETWtvXzCELxbJ4bgieIo34ffvSy+r0qfY+96Trlzbz72vUrR0Gne+7cs0Fe7 7YvtsgXmw9kF7ZaJ3tymge7AeGiZsVBn53+KVdSD0kSAdPvQfIn7joDcPYMLTgU4k0woK9 +OtpEsBoN3HvoxTzHJby1WgZKkK1/ZQJ80RqsPeQurpxK4okQmw1MbFaM/9lO/g+zfG1uN I5YCz7KEDORXbB05iDZVxRGsJB5NbQdixdqwG54a3geGKmauYp27EiX8JOSHgQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrpC0kP3z93d; Sun, 6 Aug 2023 20:36:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaZAC042820; Sun, 6 Aug 2023 20:36:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaZgZ042819; Sun, 6 Aug 2023 20:36:35 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:35 GMT Message-Id: <202308062036.376KaZgZ042819@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 4b96066ac09a - stable/13 - gpart(8): Improve manual page syntax List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4b96066ac09a280d2b98a4bf10653aa62ae4ac4b Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=4b96066ac09a280d2b98a4bf10653aa62ae4ac4b commit 4b96066ac09a280d2b98a4bf10653aa62ae4ac4b Author: Tom Hukins AuthorDate: 2023-06-02 02:41:28 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:43:36 +0000 gpart(8): Improve manual page syntax Fix various warnings from `mandoc -Tlint lib/geom/part/gpart.8`. Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/702 (cherry picked from commit 409594ef340b71252a0dc1fedbdb36977642e20a) --- lib/geom/part/gpart.8 | 65 ++++++++++++++++++++++++++++++++------------ lib/libcam/cam.3 | 2 +- sbin/camcontrol/camcontrol.8 | 2 +- 3 files changed, 49 insertions(+), 20 deletions(-) diff --git a/lib/geom/part/gpart.8 b/lib/geom/part/gpart.8 index 35e2d904a2d0..68f112cfe30a 100644 --- a/lib/geom/part/gpart.8 +++ b/lib/geom/part/gpart.8 @@ -566,7 +566,9 @@ Requires the .Cm GEOM_PART_BSD kernel option. .It Cm BSD64 -64-bit implementation of BSD disklabel used in DragonFlyBSD to subdivide MBR +64-bit implementation of BSD disklabel used in +.Dx +to subdivide MBR or GPT partitions. Requires the .Cm GEOM_PART_BSD64 @@ -772,50 +774,67 @@ See .Sx CAVEATS section below. .It Cm dragonfly-label32 -A DragonFlyBSD partition subdivided into filesystems with a +A +.Dx +partition subdivided into filesystems with a .Bx disklabel. The scheme-specific type is .Qq Li "!9d087404-1ca5-11dc-8817-01301bb8a9f5" for GPT. .It Cm dragonfly-label64 -A DragonFlyBSD partition subdivided into filesystems with a +A +.Dx +partition subdivided into filesystems with a disklabel64. The scheme-specific type is .Qq Li "!3d48ce54-1d16-11dc-8696-01301bb8a9f5" for GPT. .It Cm dragonfly-legacy -A legacy partition type used in DragonFlyBSD. +A legacy partition type used in +.Dx . The scheme-specific type is .Qq Li "!bd215ab2-1d16-11dc-8696-01301bb8a9f5" for GPT. .It Cm dragonfly-ccd -A DragonFlyBSD partition used with Concatenated Disk driver. +A +.Dx +partition used with Concatenated Disk driver. The scheme-specific type is .Qq Li "!dbd5211b-1ca5-11dc-8817-01301bb8a9f5" for GPT. .It Cm dragonfly-hammer -A DragonFlyBSD partition that contains a Hammer filesystem. +A +.Dx +partition that contains a Hammer filesystem. The scheme-specific type is .Qq Li "!61dc63ac-6e38-11dc-8513-01301bb8a9f5" for GPT. .It Cm dragonfly-hammer2 -A DragonFlyBSD partition that contains a Hammer2 filesystem. +A +.Dx +partition that contains a Hammer2 filesystem. The scheme-specific type is .Qq Li "!5cbb9ad1-862d-11dc-a94d-01301bb8a9f5" for GPT. .It Cm dragonfly-swap -A DragonFlyBSD partition dedicated to swap space. +A +.Dx +partition dedicated to swap space. The scheme-specific type is .Qq Li "!9d58fdbd-1ca5-11dc-8817-01301bb8a9f5" for GPT. .It Cm dragonfly-ufs -A DragonFlyBSD partition that contains an UFS1 filesystem. +A +.Dx +partition that contains an UFS1 filesystem. The scheme-specific type is .Qq Li "!9d94ce7c-1ca5-11dc-8817-01301bb8a9f5" for GPT. .It Cm dragonfly-vinum -A DragonFlyBSD partition used with Logical Volume Manager. +A +.Dx +partition used with Logical Volume Manager. The scheme-specific type is .Qq Li "!9dd4478f-1ca5-11dc-8817-01301bb8a9f5" for GPT. @@ -906,32 +925,44 @@ The scheme-specific type is .Qq Li "!5808c8aa-7e8f-42e0-85d2-e1e90434cfb3" for GPT. .It Cm netbsd-ccd -A NetBSD partition used with Concatenated Disk driver. +A +.Nx +partition used with Concatenated Disk driver. The scheme-specific type is .Qq Li "!2db519c4-b10f-11dc-b99b-0019d1879648" for GPT. .It Cm netbsd-cgd -An encrypted NetBSD partition. +An encrypted +.Nx +partition. The scheme-specific type is .Qq Li "!2db519ec-b10f-11dc-b99b-0019d1879648" for GPT. .It Cm netbsd-ffs -A NetBSD partition that contains an UFS filesystem. +A +.Nx +partition that contains an UFS filesystem. The scheme-specific type is .Qq Li "!49f48d5a-b10e-11dc-b99b-0019d1879648" for GPT. .It Cm netbsd-lfs -A NetBSD partition that contains an LFS filesystem. +A +.Nx +partition that contains an LFS filesystem. The scheme-specific type is .Qq Li "!49f48d82-b10e-11dc-b99b-0019d1879648" for GPT. .It Cm netbsd-raid -A NetBSD partition used in a software RAID configuration. +A +.Nx +partition used in a software RAID configuration. The scheme-specific type is .Qq Li "!49f48daa-b10e-11dc-b99b-0019d1879648" for GPT. .It Cm netbsd-swap -A NetBSD partition dedicated to swap space. +A +.Nx +partition dedicated to swap space. The scheme-specific type is .Qq Li "!49f48d32-b10e-11dc-b99b-0019d1879648" for GPT. @@ -1445,7 +1476,6 @@ label: /sbin/gpart bootcode -b /boot/boot ada0s1 .Ed .Ss VTOC8 -.Pp Create a VTOC8 scheme on .Pa da0 : .Bd -literal -offset indent @@ -1498,7 +1528,6 @@ This is equivalent to the previous example: /sbin/gpart destroy -F da0 .Ed .Ss Backup and Restore -.Pp Create a backup of the partition table from .Pa da0 : .Bd -literal -offset indent diff --git a/lib/libcam/cam.3 b/lib/libcam/cam.3 index b8ed66c4dcb5..066976b61426 100644 --- a/lib/libcam/cam.3 +++ b/lib/libcam/cam.3 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 27, 2023 +.Dd June 1, 2023 .Dt CAM 3 .Os .Sh NAME diff --git a/sbin/camcontrol/camcontrol.8 b/sbin/camcontrol/camcontrol.8 index 4ccf89b5a2a5..b0b19e89ae03 100644 --- a/sbin/camcontrol/camcontrol.8 +++ b/sbin/camcontrol/camcontrol.8 @@ -27,7 +27,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 27, 2023 +.Dd June 1, 2023 .Dt CAMCONTROL 8 .Os .Sh NAME From nobody Sun Aug 6 20:36:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrpD4xtSz4mNVQ; Sun, 6 Aug 2023 20:36:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrpD3TFBz4bw0; Sun, 6 Aug 2023 20:36:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eWKDHY5v9NQn6HIzpgOe7J1YQxEwyDNVmkxVyYoInIk=; b=jdRJNGfhlm9sGPBQvzoavJ1aPQhnth5WYxGCc5nBXTpsjWs2gWDreNVicxfD+MjNkbvYkx FC24YKqOJsLHSt/wk4Uf/lrAXSFng7+Xls0IuX+SuxshHwaBhPHDhCfd5qcCoABhr3q2sh 8GX/HaXQs78Bl+tlMuVtJAGa9JvycwHwYYF135yBO1+meXhQTTe3r89hPplj4NlckUoHyn 0+QteqrtpDZ/TLi5KOkmgtTiQwdG8Qw7NqWMoUY0BCd8fYts17z3CzWPI95IY+CKQ0A6TL t/fnvsCiwy2FivBZR/FdxXCXmtEi4sO9XfzqjCRNTmvgxInfe69nYkQkeel3BQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354196; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=eWKDHY5v9NQn6HIzpgOe7J1YQxEwyDNVmkxVyYoInIk=; b=nYtXvriuWl4Khea6gkYwOW5PDYYnnEhMDi525iefJ28M7yW3X4kPeQo7ZkaIa0VFVGWwFq G9l6X/crOCS+WqSOd25yxrAsGpgnQCEjvmZ8cLTV18RMm5XX43zDUDhRHEZLH7l8h535bD 1ghU1KMhwNARryCFlql59dJrz/w/Vz1EQbvafVuVCP6g7SNhQJhNhRfQSKpF7TB39GTcgh H8Y5n9apDDujiW3aKyRyP/7rxKWDjk0j3dCMj4tLmchT0Id3exExXzw8w4IfoRbQ+cHVvS 78t7dNGc7yJuJXgKYXO1dmr5pGREOF6wh0ZWhKswL4ynqCYH9QE9dwtRH+H+ag== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354196; a=rsa-sha256; cv=none; b=Z69WDxVll/xdSjuCRV5L2N3X/pySMtYAeLmLszNAcx/9WUNMQbbxMfjKLAvVzTakDFooqw OqQqfUlP4Lx5OaWWgA05WjrJes+ZnAGQ/pQ4qiexW1Qvoku2WluRtm1JSt9eGKrZqtwBIN DLnTvpRkLd7hpsPr0gS8QOuN4TVds0kkew9FCx+Qjcp293l64lt1z+NhMPfiWZMJ7fzMyu iy1D7mb6nYfIrZ+vP+S7KfbhJgkmTQRmdReGtzdIZCxNcdyb0sl9HeqqE7wfTAoT4PkIMJ 0gHQxb4/G8RvSgA37DtUssudQnke6/qO/TnDvRNiCf1V2OddlPIFHgXj6cFN+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrpD1j1Hz93f; Sun, 6 Aug 2023 20:36:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376KaaG7042844; Sun, 6 Aug 2023 20:36:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KaaqZ042843; Sun, 6 Aug 2023 20:36:36 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:36 GMT Message-Id: <202308062036.376KaaqZ042843@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: de256b499f33 - stable/13 - Minor grammar nit List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: de256b499f335b6d17ce1cbe6e255c303bb5c934 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=de256b499f335b6d17ce1cbe6e255c303bb5c934 commit de256b499f335b6d17ce1cbe6e255c303bb5c934 Author: Andreas Bjornestad AuthorDate: 2021-03-03 16:17:26 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:45:07 +0000 Minor grammar nit PR: docs/253975 (cherry picked from commit 25352f9fda43f6ad112d78a8a6e00b77259802d7) --- lib/geom/part/gpart.8 | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/geom/part/gpart.8 b/lib/geom/part/gpart.8 index 68f112cfe30a..2bc1daba2ad6 100644 --- a/lib/geom/part/gpart.8 +++ b/lib/geom/part/gpart.8 @@ -169,7 +169,7 @@ to be multiple of value. .It Fl b Ar start The logical block address where the partition will begin. -A SI unit suffix is allowed. +An SI unit suffix is allowed. .It Fl f Ar flags Additional operational flags. See the section entitled @@ -188,7 +188,7 @@ partition labels. .It Fl s Ar size Create a partition of size .Ar size . -A SI unit suffix is allowed. +An SI unit suffix is allowed. .It Fl t Ar type Create a partition of type .Ar type . @@ -424,7 +424,7 @@ about its use. Specifies the index of the partition to be resized. .It Fl s Ar size Specifies the new size of the partition, in logical blocks. -A SI unit suffix is allowed. +An SI unit suffix is allowed. .El .\" ==== RESTORE ==== .It Cm restore From nobody Sun Aug 6 20:36:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrpF5vcxz4mNG5; Sun, 6 Aug 2023 20:36:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrpF3sTzz4c6g; Sun, 6 Aug 2023 20:36:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JotmX1N9RiU+Kk60RZxm31ByYQ07Jrx4pWMYA2hOeFw=; b=o0UpSEyEeoqTrg7jMXG2bsckpnyz9XtQugGr/c+Ai0fNb7krj8zRKKx2FMuH61XcPKUTkV QluqcZl6am1j6DeiwCXqnHxf4vewI3XoyRNbnb3r3Wni6hhmM81pcjbr1lATneeXlEIq7o yJsiYYKJd2VpwA3LtqL+lt1GeCM5ljmtnHI2AXtkqn3JpoQSQPQJj/Zvtq/8f+pYNFJmv8 jOSS8S6t8G6hQzzKIIPllDY4gxlV8goLHsZI1v4Fe268QM1fFEHaSJKvqeQ/oMeOEMMzis ozsJ9IhHrV+BDUAjBgEozcN57mrauujEsHNLVzJ66AY3Ay1IsygEQcQ2dUbxxA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354197; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=JotmX1N9RiU+Kk60RZxm31ByYQ07Jrx4pWMYA2hOeFw=; b=phnXB0vXjlIA3D2meKmMd35UiXi5dZ3PB07vbYP54zZHtKVWL8GKlSNWpXNlhBFLud5yXA oMP8BGtK1DiC3Yak902/oBmNLoVSB2mIoCGKSje8ZpQ3ZG5znK85ueCY0DU4Tt+DYvtIX2 H1t7ZewKKIfv/mnEZELt4ym/Oapy40Trki1MmQXsXmimRWgO1IMLldQ6ia9naS2Pk4VHOP 2KPBocO8uonQ+McET7cA30R+eAX4gHo/+NeRpMbqq5D3vwweNJEcqz3wxUXyXq7Litme5y fX4ty61VEjAzabVjLEm/8vMoZHtsetDCk+wi9wrEWkDOu/jLDmgMJ90I+8ThzQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354197; a=rsa-sha256; cv=none; b=ygq6i+zxp3sOHFcjAoNg6Z2Qqjb8iTLDVnn17ppJIQkRWPCkrZOkA9xj+w+pLcRkQh40es W1Bso8KHyAPyCBB21J861e0pfEG7svOHL+MiBL56jJBI6VPVtLJ7zpBjjRdemMgeDish7P UTuHOj3zcJrDRRVc0EYe/ssvqh8/jcRPHR54w0teM+qqXpPDdlDYc8wRVqDnzmEtigoWC1 rlWRE4lcj3knrggKnmoTgD5B8LpPTI5rBO7Bml0I45gd+Th8htWZhzAjFuPWpf5xojWR7g 3vVERUI1sbIAeaYwSDomArRX+rztAvxB0Wc2Q7p36oVzQVuMYUJSQlWmXAwhgw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrpF2mjmz8xg; Sun, 6 Aug 2023 20:36:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376Kaba8042864; Sun, 6 Aug 2023 20:36:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376Kabqm042863; Sun, 6 Aug 2023 20:36:37 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:37 GMT Message-Id: <202308062036.376Kabqm042863@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: f28b14e6ce69 - stable/13 - geom(4): Add cross reference to geom(8) List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f28b14e6ce697b7f95598e9c635c911f43cbdcc1 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=f28b14e6ce697b7f95598e9c635c911f43cbdcc1 commit f28b14e6ce697b7f95598e9c635c911f43cbdcc1 Author: Tom Hukins AuthorDate: 2023-03-27 20:50:25 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:46:49 +0000 geom(4): Add cross reference to geom(8) PR: 264387 Reviewed by: ceri Pull Request: https://github.com/freebsd/freebsd-src/pull/702 (cherry picked from commit e5bc2547a5f8173d1e5b72c1713a54dc89e29620) --- share/man/man4/geom.4 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/share/man/man4/geom.4 b/share/man/man4/geom.4 index f6988c663f54..91ba9360ec3b 100644 --- a/share/man/man4/geom.4 +++ b/share/man/man4/geom.4 @@ -34,7 +34,7 @@ .\" .\" $FreeBSD$ .\" -.Dd August 13, 2019 +.Dd March 27, 2023 .Dt GEOM 4 .Os .Sh NAME @@ -445,6 +445,7 @@ Dump contents of gctl requests. .El .Sh SEE ALSO .Xr libgeom 3 , +.Xr geom 8 , .Xr DECLARE_GEOM_CLASS 9 , .Xr disk 9 , .Xr g_access 9 , From nobody Sun Aug 6 20:36:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrpG6qnhz4mNc4; Sun, 6 Aug 2023 20:36:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrpG5mmtz4cCM; Sun, 6 Aug 2023 20:36:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lOA3W2FJZNrHFyg/KCTkZ6kt5gyIC7VILkbX9JNbyQ4=; b=EJtpvCy1CppD7J69GsRvsW/EONJw43zubf5pUvrft2NwMZO/1rEcLjmUtGjbxXQqxIrKs6 4WmMzPJ47BZL0d6Lh6/b9dBlDGOMSyavMeHLak+gvus8Fb6E91/DBAbNdRQZI5FLYtN6kw jEdQcchna8E5fAm7/BkLgdCs6EJub8HbOp/ShFDwgWP2TCokPWuD/uxUh5Orrvo4hNJS9n pgdQDRxftt9f2EVNd1ETCS8J7RQmfGCPJl0bpRxpaSuznAXn/kfja0bbeZAFaIo1X54xEN n3qEJT2alLX+nyE2lp2aS5QqIKcBWBCGdhM5p/JA8Br+E7I016P5P9rWlnO8Hg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354198; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=lOA3W2FJZNrHFyg/KCTkZ6kt5gyIC7VILkbX9JNbyQ4=; b=CGL7UXxCNULh0WPsbvgkJCkRPLKojjeVTbavXOYY4dLbqbOthXhVC/dxTxMIpPqGJW9jws Gnfi0l4dHKvRAZdiRuNIILH7JEGz/7gsjqNoNL8GllPWhghLL5cbEtW+vkw/+KW6sKq1Zr Id6NZFrXiTvO/mQ2jPxj6iK1jMcP+tta38pJu1A0yAqHQj0HVQFKjLMh9RGJA4cDN4XiCQ sbmjVu2iU92rND3QrcKSRBHsOvvEWOPoceqdYM6Bzn7UiwDq9TNe7bdOvUlDBWXG/iZjSs zSYxPW6jtGZBES/uHsLcet740o/xerLGOBtbuJI4necbVgp41rqMGSdOoqjutQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354198; a=rsa-sha256; cv=none; b=tx3YU4GUc9UWDySSYuIL1/+K8AAwMNLUXiZtfBFy0gf90V+u4T6VsBp2YOdDaB5Yaa6bFc yhIiRWo4nnD+lvPnG9tkbgOQWwgEvUDCFbSSgV1gqYUAlaYJlc6A4xMuXZkfYOCToXpVRO gRjg5bJ2o1pSarv+bRSIycLWaz/K9+hOiAAfeuaxnTGJTb6KlSz5WhXBzJcQSW/cc/emEE wAz8ojO5UPmWddxyUsbBXRdTPPBsLUKthowtBhDGDWk1NfIK3dEfaUhXGAX+E8UPRHB0g1 Gm9v1j/hZ07dpCKhGq4W+ub2ngqfg3Y4aC189YJlYlQEtXCzYfMHZzcgCTzA6w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrpG411Sz8XR; Sun, 6 Aug 2023 20:36:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376Kactt042891; Sun, 6 Aug 2023 20:36:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376KacB5042889; Sun, 6 Aug 2023 20:36:38 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:38 GMT Message-Id: <202308062036.376KacB5042889@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: aa63608809b6 - stable/13 - base: Remove support for the VTOC8 partitioning scheme List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: aa63608809b60066f14a044c9c652039ba24b214 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=aa63608809b60066f14a044c9c652039ba24b214 commit aa63608809b60066f14a044c9c652039ba24b214 Author: Marius Strobl AuthorDate: 2023-07-26 11:08:37 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:49:05 +0000 base: Remove support for the VTOC8 partitioning scheme The removal of the sparc64 support in February 2020 obsoleted the VTOC8 partitioning scheme as no other FreeBSD platform makes use of it. Moreover, the code is bitrotting as nothing defines e. g. LOADER_VTOC8_SUPPORT any more and, thus, should go now, too. With this change, the following commits are reverted as far as VTOC8 is concerned and parts haven't already previously been deleted along with prior sparc64 removals: 094fcb157d4c98211899cf09d06e2cf19149b7e0 a7d366e9589c95feda6f3bc78c59c6355d51f126 ba8d50d08b9df4e8213f9a6997ff6792ecebcd9b The alignment example d9711c28efc4ec89ba5ea11f8fd63e9d0a7fc81b added to the VTOC8 section of gpart.8 is folded into the MBR one. This should finally conclude the deorbit of sparc64-specific bits. We had joy, we had fun we ran Unix on a Sun. But that source and the song of FreeBSD have all gone. Credits to Michael Bueker for the original "Unix on a Sun" and Rod McKuen for the "Seasons in the Sun" lyrics. (cherry picked from commit 4ef1c6f75d25ba0c264ab274a1b449467a6ee817) --- ObsoleteFiles.inc | 4 + lib/geom/part/geom_part.c | 132 ++--- lib/geom/part/gpart.8 | 76 +-- share/man/man4/geom.4 | 5 +- stand/common/part.c | 100 ---- stand/common/part.h | 1 - sys/conf/NOTES | 1 - sys/conf/files | 1 - sys/conf/options | 1 - sys/geom/part/g_part_vtoc8.c | 604 --------------------- sys/modules/geom/geom_part/Makefile | 3 +- .../geom/geom_part/geom_part_vtoc8/Makefile | 10 - sys/sys/disk/vtoc.h | 110 ---- sys/sys/vtoc.h | 5 - tools/boot/install-boot.sh | 12 - usr.bin/mkimg/Makefile | 3 +- usr.bin/mkimg/tests/mkimg_test.sh | 2 +- usr.bin/mkimg/vtoc8.c | 113 ---- usr.sbin/efibootmgr/efibootmgr.c | 1 - 19 files changed, 58 insertions(+), 1126 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 5848dc27a5cd..4c0fca28c4bf 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -52,6 +52,10 @@ # xargs -n1 | sort | uniq -d; # done +# 20230806: Removal of support for the VTOC8 partitioning scheme +OLD_FILES+=usr/include/sys/disk/vtoc.h +OLD_FILES+=usr/include/sys/vtoc.h + # 20230806 meteor.4 removed, see also 20200301 entry below OLD_FILES+=usr/share/man/man4/meteor.4.gz diff --git a/lib/geom/part/geom_part.c b/lib/geom/part/geom_part.c index 70eb83a66c97..04e730c7719e 100644 --- a/lib/geom/part/geom_part.c +++ b/lib/geom/part/geom_part.c @@ -30,7 +30,6 @@ __FBSDID("$FreeBSD$"); #include -#include #include #include @@ -89,8 +88,7 @@ static _Noreturn void gpart_issue(struct gctl_req *, unsigned int); static void gpart_show(struct gctl_req *, unsigned int); static void gpart_show_geom(struct ggeom *, const char *, int); static int gpart_show_hasopt(struct gctl_req *, const char *, const char *); -static void gpart_write_partcode(struct ggeom *, int, void *, ssize_t); -static void gpart_write_partcode_vtoc8(struct ggeom *, int, void *); +static void gpart_write_partcode(struct gctl_req *, int, void *, ssize_t); static void gpart_print_error(const char *); static void gpart_backup(struct gctl_req *, unsigned int); static void gpart_restore(struct gctl_req *, unsigned int); @@ -1107,14 +1105,38 @@ gpart_bootfile_read(const char *bootfile, ssize_t *size) } static void -gpart_write_partcode(struct ggeom *gp, int idx, void *code, ssize_t size) +gpart_write_partcode(struct gctl_req *req, int idx, void *code, ssize_t size) { char dsf[128]; + struct gmesh mesh; + struct gclass *classp; + struct ggeom *gp; struct gprovider *pp; - const char *s; + const char *g, *s; char *buf; off_t bsize; - int fd; + int error, fd; + + s = gctl_get_ascii(req, "class"); + if (s == NULL) + abort(); + g = gctl_get_ascii(req, "arg0"); + if (g == NULL) + abort(); + error = geom_gettree_geom(&mesh, s, g, 0); + if (error != 0) + errc(EXIT_FAILURE, error, "Cannot get GEOM tree"); + classp = find_class(&mesh, s); + if (classp == NULL) { + geom_deletetree(&mesh); + errx(EXIT_FAILURE, "Class %s not found.", s); + } + gp = find_geom(classp, g); + if (gp == NULL) + errx(EXIT_FAILURE, "No such geom: %s.", g); + s = find_geomcfg(gp, "scheme"); + if (s == NULL) + errx(EXIT_FAILURE, "Scheme not found for geom %s", gp->lg_name); LIST_FOREACH(pp, &gp->lg_provider, lg_provider) { s = find_provcfg(pp, "index"); @@ -1149,65 +1171,17 @@ gpart_write_partcode(struct ggeom *gp, int idx, void *code, ssize_t size) printf("partcode written to %s\n", pp->lg_name); } else errx(EXIT_FAILURE, "invalid partition index"); -} -static void -gpart_write_partcode_vtoc8(struct ggeom *gp, int idx, void *code) -{ - char dsf[128]; - struct gprovider *pp; - const char *s; - int installed, fd; - - installed = 0; - LIST_FOREACH(pp, &gp->lg_provider, lg_provider) { - s = find_provcfg(pp, "index"); - if (s == NULL) - continue; - if (idx != 0 && atoi(s) != idx) - continue; - snprintf(dsf, sizeof(dsf), "/dev/%s", pp->lg_name); - if (pp->lg_sectorsize != sizeof(struct vtoc8)) - errx(EXIT_FAILURE, "%s: unexpected sector " - "size (%d)\n", dsf, pp->lg_sectorsize); - if (pp->lg_mediasize < VTOC_BOOTSIZE) - continue; - fd = open(dsf, O_WRONLY); - if (fd == -1) - err(EXIT_FAILURE, "%s", dsf); - /* - * We ignore the first VTOC_BOOTSIZE bytes of boot code in - * order to avoid overwriting the label. - */ - if (lseek(fd, sizeof(struct vtoc8), SEEK_SET) != - sizeof(struct vtoc8)) - err(EXIT_FAILURE, "%s", dsf); - if (write(fd, (caddr_t)code + sizeof(struct vtoc8), - VTOC_BOOTSIZE - sizeof(struct vtoc8)) != VTOC_BOOTSIZE - - sizeof(struct vtoc8)) - err(EXIT_FAILURE, "%s", dsf); - installed++; - close(fd); - if (idx != 0 && atoi(s) == idx) - break; - } - if (installed == 0) - errx(EXIT_FAILURE, "%s: no partitions", gp->lg_name); - else - printf("partcode written to %s\n", - idx != 0 ? pp->lg_name: gp->lg_name); + geom_deletetree(&mesh); } static void gpart_bootcode(struct gctl_req *req, unsigned int fl) { - struct gmesh mesh; - struct gclass *classp; - struct ggeom *gp; - const char *g, *s; + const char *s; void *bootcode, *partcode; size_t bootsize, partsize; - int error, idx, vtoc8; + int error, idx; if (gctl_get_int(req, "nargs") != 1) errx(EXIT_FAILURE, "Invalid number of arguments."); @@ -1231,31 +1205,6 @@ gpart_bootcode(struct gctl_req *req, unsigned int fl) goto nopartcode; } - s = gctl_get_ascii(req, "class"); - if (s == NULL) - abort(); - g = gctl_get_ascii(req, "arg0"); - if (g == NULL) - abort(); - error = geom_gettree_geom(&mesh, s, g, 0); - if (error != 0) - errc(EXIT_FAILURE, error, "Cannot get GEOM tree"); - classp = find_class(&mesh, s); - if (classp == NULL) { - geom_deletetree(&mesh); - errx(EXIT_FAILURE, "Class %s not found.", s); - } - gp = find_geom(classp, g); - if (gp == NULL) - errx(EXIT_FAILURE, "No such geom: %s.", g); - s = find_geomcfg(gp, "scheme"); - if (s == NULL) - errx(EXIT_FAILURE, "Scheme not found for geom %s", gp->lg_name); - if (strcmp(s, "VTOC8") == 0) - vtoc8 = 1; - else - vtoc8 = 0; - if (gctl_has_param(req, GPART_PARAM_INDEX)) { idx = (int)gctl_get_intmax(req, GPART_PARAM_INDEX); if (idx < 1) @@ -1268,28 +1217,17 @@ gpart_bootcode(struct gctl_req *req, unsigned int fl) if (gctl_has_param(req, GPART_PARAM_PARTCODE)) { s = gctl_get_ascii(req, GPART_PARAM_PARTCODE); - if (vtoc8 != 0) - partsize = VTOC_BOOTSIZE; - else - partsize = 1024 * 1024; /* Arbitrary limit. */ + partsize = 1024 * 1024; /* Arbitrary limit. */ partcode = gpart_bootfile_read(s, &partsize); error = gctl_delete_param(req, GPART_PARAM_PARTCODE); if (error) errc(EXIT_FAILURE, error, "internal error"); - if (vtoc8 == 0) { - if (idx == 0) - errx(EXIT_FAILURE, "missing -i option"); - gpart_write_partcode(gp, idx, partcode, partsize); - } else { - if (partsize != VTOC_BOOTSIZE) - errx(EXIT_FAILURE, "invalid bootcode"); - gpart_write_partcode_vtoc8(gp, idx, partcode); - } + if (idx == 0) + errx(EXIT_FAILURE, "missing -i option"); + gpart_write_partcode(req, idx, partcode, partsize); free(partcode); } - geom_deletetree(&mesh); - nopartcode: if (bootcode != NULL) gpart_issue(req, fl); diff --git a/lib/geom/part/gpart.8 b/lib/geom/part/gpart.8 index 2bc1daba2ad6..a6f9fbd884a8 100644 --- a/lib/geom/part/gpart.8 +++ b/lib/geom/part/gpart.8 @@ -24,7 +24,7 @@ .\" .\" $FreeBSD$ .\" -.Dd July 7, 2023 +.Dd July 26, 2023 .Dt GPART 8 .Os .Sh NAME @@ -544,7 +544,7 @@ See Several partitioning schemes are supported by the .Nm utility: -.Bl -tag -width ".Cm VTOC8" +.Bl -tag -width ".Cm BSD64" .It Cm APM Apple Partition Map, used by PowerPC(R) Macintosh(R) computers. Requires the @@ -599,15 +599,6 @@ The option enables backward compatibility for partition names in the EBR scheme. It also prevents any type of actions on such partitions. -.It Cm VTOC8 -Sun's SMI Volume Table Of Contents, used by -.Tn SPARC64 -and -.Tn UltraSPARC -computers. -Requires the -.Cm GEOM_PART_VTOC8 -kernel option. .El .Pp See @@ -680,36 +671,36 @@ A partition dedicated to swap space. The scheme-specific types are .Qq Li "!FreeBSD-swap" -for APM, +for APM, and .Qq Li "!516e7cb5-6ecf-11d6-8ff8-00022d09712b" -for GPT, and tag 0x0901 for VTOC8. +for GPT. .It Cm freebsd-ufs A .Fx partition that contains a UFS or UFS2 filesystem. The scheme-specific types are .Qq Li "!FreeBSD-UFS" -for APM, +for APM, and .Qq Li "!516e7cb6-6ecf-11d6-8ff8-00022d09712b" -for GPT, and tag 0x0902 for VTOC8. +for GPT. .It Cm freebsd-vinum A .Fx partition that contains a Vinum volume. The scheme-specific types are .Qq Li "!FreeBSD-Vinum" -for APM, +for APM, and .Qq Li "!516e7cb8-6ecf-11d6-8ff8-00022d09712b" -for GPT, and tag 0x0903 for VTOC8. +for GPT. .It Cm freebsd-zfs A .Fx partition that contains a ZFS volume. The scheme-specific types are .Qq Li "!FreeBSD-ZFS" -for APM, +for APM, and .Qq Li "!516e7cba-6ecf-11d6-8ff8-00022d09712b" -for GPT, and 0x0904 for VTOC8. +for GPT. .El .Pp Other symbolic names that can be used with the @@ -1196,18 +1187,6 @@ After all pools are detected, .Pa /boot/loader is started from the first one found set as bootable. .Pp -The VTOC8 scheme does not support embedding bootstrap code. -Instead, the 8 KBytes bootstrap code image -.Pa /boot/boot1 -should be written with the -.Cm gpart bootcode -command with the -.Fl p Ar bootcode -option to all sufficiently large VTOC8 partitions. -To do this the -.Fl i Ar index -option could be omitted. -.Pp The APM scheme also does not support embedding bootstrap code. Instead, the 800 KBytes bootstrap code image .Pa /boot/boot1.hfs @@ -1306,7 +1285,7 @@ GEOM class. The default value is shown next to each variable. .Bl -tag -width indent .It Va kern.geom.part.allow_nesting : No 0 -By default, some schemes (currently BSD, BSD64 and VTOC8) do not permit +By default, some schemes (currently BSD and BSD64) do not permit further nested partitioning. This variable overrides this restriction and allows arbitrary nesting (except within partitions created at offset 0). @@ -1443,12 +1422,12 @@ using a traditional .Bx disklabel. .Pp -First, we create the partition table and a single 64 GB partition, -then we mark that partition active (bootable) and install the -first-stage boot loader: +First, we create the partition table as well as a single partition 64 GB in +size and an alignment of 4 kB, then we mark that partition active (bootable) +and install the first-stage boot loader: .Bd -literal -offset indent /sbin/gpart create -s MBR ada0 -/sbin/gpart add -t freebsd -s 64G ada0 +/sbin/gpart add -t freebsd -s 64G -a 4k ada0 /sbin/gpart set -a active -i 1 ada0 /sbin/gpart bootcode -b /boot/boot0 ada0 .Ed @@ -1475,31 +1454,6 @@ label: .Bd -literal -offset indent /sbin/gpart bootcode -b /boot/boot ada0s1 .Ed -.Ss VTOC8 -Create a VTOC8 scheme on -.Pa da0 : -.Bd -literal -offset indent -/sbin/gpart create -s VTOC8 da0 -.Ed -.Pp -Create a 512MB-sized -.Cm freebsd-ufs -partition to contain a UFS filesystem from which the system can boot. -.Bd -literal -offset indent -/sbin/gpart add -s 512M -t freebsd-ufs da0 -.Ed -.Pp -Create a 15GB-sized -.Cm freebsd-ufs -partition to contain a UFS filesystem and aligned on 4KB boundaries: -.Bd -literal -offset indent -/sbin/gpart add -s 15G -t freebsd-ufs -a 4k da0 -.Ed -.Pp -After creating all required partitions, embed bootstrap code into them: -.Bd -literal -offset indent -/sbin/gpart bootcode -p /boot/boot1 da0 -.Ed .Ss Deleting Partitions and Destroying the Partitioning Scheme If a .Em "Device busy" diff --git a/share/man/man4/geom.4 b/share/man/man4/geom.4 index 91ba9360ec3b..cb8f23aca7f3 100644 --- a/share/man/man4/geom.4 +++ b/share/man/man4/geom.4 @@ -34,7 +34,7 @@ .\" .\" $FreeBSD$ .\" -.Dd March 27, 2023 +.Dd July 26, 2023 .Dt GEOM 4 .Os .Sh NAME @@ -62,7 +62,6 @@ .Cd options GEOM_PART_GPT .Cd options GEOM_PART_LDM .Cd options GEOM_PART_MBR -.Cd options GEOM_PART_VTOC8 .Cd options GEOM_RAID .Cd options GEOM_RAID3 .Cd options GEOM_SHSEC @@ -494,8 +493,6 @@ Use .Cd GEOM_MULTIPATH , .It .Cd GEOM_PART_MBR , -.It -.Cd GEOM_PART_VTOC8 , and .It .Cd GEOM_LABEL diff --git a/stand/common/part.c b/stand/common/part.c index 4ae38bfb7682..90d7855b53ff 100644 --- a/stand/common/part.c +++ b/stand/common/part.c @@ -35,7 +35,6 @@ __FBSDID("$FreeBSD$"); #include #include #include -#include #include @@ -70,7 +69,6 @@ struct pentry { uint8_t bsd; uint8_t mbr; uuid_t gpt; - uint16_t vtoc8; } type; STAILQ_ENTRY(pentry) entry; }; @@ -519,88 +517,6 @@ out: return (table); } -#ifdef LOADER_VTOC8_SUPPORT -static enum partition_type -vtoc8_parttype(uint16_t type) -{ - - switch (type) { - case VTOC_TAG_FREEBSD_SWAP: - return (PART_FREEBSD_SWAP); - case VTOC_TAG_FREEBSD_UFS: - return (PART_FREEBSD_UFS); - case VTOC_TAG_FREEBSD_VINUM: - return (PART_FREEBSD_VINUM); - case VTOC_TAG_FREEBSD_ZFS: - return (PART_FREEBSD_ZFS); - } - return (PART_UNKNOWN); -} - -static struct ptable * -ptable_vtoc8read(struct ptable *table, void *dev, diskread_t dread) -{ - struct pentry *entry; - struct vtoc8 *dl; - uint8_t *buf; - uint16_t sum, heads, sectors; - int i; - - if (table->sectorsize != sizeof(struct vtoc8)) - return (table); - buf = malloc(table->sectorsize); - if (buf == NULL) - return (table); - if (dread(dev, buf, 1, 0) != 0) { - DPRINTF("read failed"); - ptable_close(table); - table = NULL; - goto out; - } - dl = (struct vtoc8 *)buf; - /* Check the sum */ - for (i = sum = 0; i < sizeof(struct vtoc8); i += sizeof(sum)) - sum ^= be16dec(buf + i); - if (sum != 0) { - DPRINTF("incorrect checksum"); - goto out; - } - if (be16toh(dl->nparts) != VTOC8_NPARTS) { - DPRINTF("invalid number of entries"); - goto out; - } - sectors = be16toh(dl->nsecs); - heads = be16toh(dl->nheads); - if (sectors * heads == 0) { - DPRINTF("invalid geometry"); - goto out; - } - DPRINTF("VTOC8 detected"); - for (i = 0; i < VTOC8_NPARTS; i++) { - dl->part[i].tag = be16toh(dl->part[i].tag); - if (i == VTOC_RAW_PART || - dl->part[i].tag == VTOC_TAG_UNASSIGNED) - continue; - entry = malloc(sizeof(*entry)); - if (entry == NULL) - break; - entry->part.start = be32toh(dl->map[i].cyl) * heads * sectors; - entry->part.end = be32toh(dl->map[i].nblks) + - entry->part.start - 1; - entry->part.type = vtoc8_parttype(dl->part[i].tag); - entry->part.index = i; /* starts from zero */ - entry->type.vtoc8 = dl->part[i].tag; - STAILQ_INSERT_TAIL(&table->entries, entry, entry); - DPRINTF("new VTOC8 partition added"); - } - table->type = PTABLE_VTOC8; -out: - free(buf); - return (table); - -} -#endif /* LOADER_VTOC8_SUPPORT */ - #define cdb2devb(bno) ((bno) * ISO_DEFAULT_BLOCK_SIZE / table->sectorsize) static struct ptable * @@ -678,16 +594,6 @@ ptable_open(void *dev, uint64_t sectors, uint16_t sectorsize, } else if (table->type == PTABLE_ISO9660) goto out; -#ifdef LOADER_VTOC8_SUPPORT - if (be16dec(buf + offsetof(struct vtoc8, magic)) == VTOC_MAGIC) { - if (ptable_vtoc8read(table, dev, dread) == NULL) { - /* Read error. */ - table = NULL; - goto out; - } else if (table->type == PTABLE_VTOC8) - goto out; - } -#endif /* Check the BSD label. */ if (ptable_bsdread(table, dev, dread) == NULL) { /* Read error. */ table = NULL; @@ -928,12 +834,6 @@ ptable_iterate(const struct ptable *table, void *arg, ptable_iterate_t *iter) if (table->type == PTABLE_GPT) sprintf(name, "p%d", entry->part.index); else -#endif -#ifdef LOADER_VTOC8_SUPPORT - if (table->type == PTABLE_VTOC8) - sprintf(name, "%c", (uint8_t) 'a' + - entry->part.index); - else #endif if (table->type == PTABLE_BSD) sprintf(name, "%c", (uint8_t) 'a' + diff --git a/stand/common/part.h b/stand/common/part.h index b991ae3c381c..68acce22cb06 100644 --- a/stand/common/part.h +++ b/stand/common/part.h @@ -36,7 +36,6 @@ enum ptable_type { PTABLE_BSD, PTABLE_MBR, PTABLE_GPT, - PTABLE_VTOC8, PTABLE_ISO9660 }; diff --git a/sys/conf/NOTES b/sys/conf/NOTES index 300e85c8cacd..693f85fa0fe1 100644 --- a/sys/conf/NOTES +++ b/sys/conf/NOTES @@ -174,7 +174,6 @@ options GEOM_PART_EBR # Extended Boot Records options GEOM_PART_GPT # GPT partitioning options GEOM_PART_LDM # Logical Disk Manager options GEOM_PART_MBR # MBR partitioning -options GEOM_PART_VTOC8 # SMI VTOC8 disk label options GEOM_RAID # Soft RAID functionality. options GEOM_RAID3 # RAID3 functionality. options GEOM_SHSEC # Shared secret. diff --git a/sys/conf/files b/sys/conf/files index 5c94b3928ccf..b6b99253805e 100644 --- a/sys/conf/files +++ b/sys/conf/files @@ -3740,7 +3740,6 @@ geom/part/g_part_ebr.c optional geom_part_ebr geom/part/g_part_gpt.c optional geom_part_gpt geom/part/g_part_ldm.c optional geom_part_ldm geom/part/g_part_mbr.c optional geom_part_mbr -geom/part/g_part_vtoc8.c optional geom_part_vtoc8 geom/raid/g_raid.c optional geom_raid geom/raid/g_raid_ctl.c optional geom_raid geom/raid/g_raid_md_if.m optional geom_raid diff --git a/sys/conf/options b/sys/conf/options index 05ca15e5c651..41cf6b5d99a7 100644 --- a/sys/conf/options +++ b/sys/conf/options @@ -128,7 +128,6 @@ GEOM_PART_EBR opt_geom.h GEOM_PART_GPT opt_geom.h GEOM_PART_LDM opt_geom.h GEOM_PART_MBR opt_geom.h -GEOM_PART_VTOC8 opt_geom.h GEOM_RAID opt_geom.h GEOM_RAID3 opt_geom.h GEOM_SHSEC opt_geom.h diff --git a/sys/geom/part/g_part_vtoc8.c b/sys/geom/part/g_part_vtoc8.c deleted file mode 100644 index 37ee7cf1c030..000000000000 --- a/sys/geom/part/g_part_vtoc8.c +++ /dev/null @@ -1,604 +0,0 @@ -/*- - * SPDX-License-Identifier: BSD-2-Clause - * - * Copyright (c) 2008 Marcel Moolenaar - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR - * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES - * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. - * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, - * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, - * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY - * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF - * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ - -#include -__FBSDID("$FreeBSD$"); - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "g_part_if.h" - -FEATURE(geom_part_vtoc8, "GEOM partitioning class for SMI VTOC8 disk labels"); - -struct g_part_vtoc8_table { - struct g_part_table base; - struct vtoc8 vtoc; - uint32_t secpercyl; -}; - -static int g_part_vtoc8_add(struct g_part_table *, struct g_part_entry *, - struct g_part_parms *); -static int g_part_vtoc8_create(struct g_part_table *, struct g_part_parms *); -static int g_part_vtoc8_destroy(struct g_part_table *, struct g_part_parms *); -static void g_part_vtoc8_dumpconf(struct g_part_table *, - struct g_part_entry *, struct sbuf *, const char *); -static int g_part_vtoc8_dumpto(struct g_part_table *, struct g_part_entry *); -static int g_part_vtoc8_modify(struct g_part_table *, struct g_part_entry *, - struct g_part_parms *); -static const char *g_part_vtoc8_name(struct g_part_table *, - struct g_part_entry *, char *, size_t); -static int g_part_vtoc8_probe(struct g_part_table *, struct g_consumer *); -static int g_part_vtoc8_read(struct g_part_table *, struct g_consumer *); -static const char *g_part_vtoc8_type(struct g_part_table *, - struct g_part_entry *, char *, size_t); -static int g_part_vtoc8_write(struct g_part_table *, struct g_consumer *); -static int g_part_vtoc8_resize(struct g_part_table *, struct g_part_entry *, - struct g_part_parms *); - -static kobj_method_t g_part_vtoc8_methods[] = { - KOBJMETHOD(g_part_add, g_part_vtoc8_add), - KOBJMETHOD(g_part_create, g_part_vtoc8_create), - KOBJMETHOD(g_part_destroy, g_part_vtoc8_destroy), - KOBJMETHOD(g_part_dumpconf, g_part_vtoc8_dumpconf), - KOBJMETHOD(g_part_dumpto, g_part_vtoc8_dumpto), - KOBJMETHOD(g_part_modify, g_part_vtoc8_modify), - KOBJMETHOD(g_part_resize, g_part_vtoc8_resize), - KOBJMETHOD(g_part_name, g_part_vtoc8_name), - KOBJMETHOD(g_part_probe, g_part_vtoc8_probe), - KOBJMETHOD(g_part_read, g_part_vtoc8_read), - KOBJMETHOD(g_part_type, g_part_vtoc8_type), - KOBJMETHOD(g_part_write, g_part_vtoc8_write), - { 0, 0 } -}; - -static struct g_part_scheme g_part_vtoc8_scheme = { - "VTOC8", - g_part_vtoc8_methods, - sizeof(struct g_part_vtoc8_table), - .gps_entrysz = sizeof(struct g_part_entry), - .gps_minent = VTOC8_NPARTS, - .gps_maxent = VTOC8_NPARTS, -}; -G_PART_SCHEME_DECLARE(g_part_vtoc8); -MODULE_VERSION(geom_part_vtoc8, 0); - -static int -vtoc8_parse_type(const char *type, uint16_t *tag) -{ - const char *alias; - char *endp; - long lt; - - if (type[0] == '!') { - lt = strtol(type + 1, &endp, 0); - if (type[1] == '\0' || *endp != '\0' || lt <= 0 || - lt >= 65536) - return (EINVAL); - *tag = (uint16_t)lt; - return (0); - } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_NANDFS); - if (!strcasecmp(type, alias)) { - *tag = VTOC_TAG_FREEBSD_NANDFS; - return (0); - } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_SWAP); - if (!strcasecmp(type, alias)) { - *tag = VTOC_TAG_FREEBSD_SWAP; - return (0); - } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_UFS); - if (!strcasecmp(type, alias)) { - *tag = VTOC_TAG_FREEBSD_UFS; - return (0); - } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_VINUM); - if (!strcasecmp(type, alias)) { - *tag = VTOC_TAG_FREEBSD_VINUM; - return (0); - } - alias = g_part_alias_name(G_PART_ALIAS_FREEBSD_ZFS); - if (!strcasecmp(type, alias)) { - *tag = VTOC_TAG_FREEBSD_ZFS; - return (0); - } - return (EINVAL); -} - -static int -vtoc8_align(struct g_part_vtoc8_table *table, uint64_t *start, uint64_t *size) -{ - - if (*size < table->secpercyl) - return (EINVAL); - if (start != NULL && (*start % table->secpercyl)) { - *size += (*start % table->secpercyl) - table->secpercyl; - *start -= (*start % table->secpercyl) - table->secpercyl; - } - if (*size % table->secpercyl) - *size -= (*size % table->secpercyl); - if (*size < table->secpercyl) - return (EINVAL); - return (0); -} - -static int -g_part_vtoc8_add(struct g_part_table *basetable, struct g_part_entry *entry, - struct g_part_parms *gpp) -{ - struct g_part_vtoc8_table *table; - int error, index; - uint64_t start, size; - uint16_t tag; - - if (gpp->gpp_parms & G_PART_PARM_LABEL) - return (EINVAL); - - error = vtoc8_parse_type(gpp->gpp_type, &tag); - if (error) - return (error); - - table = (struct g_part_vtoc8_table *)basetable; - index = entry->gpe_index - 1; - start = gpp->gpp_start; - size = gpp->gpp_size; - if (vtoc8_align(table, &start, &size) != 0) - return (EINVAL); - - KASSERT(entry->gpe_start <= start, (__func__)); - KASSERT(entry->gpe_end >= start + size - 1, (__func__)); - entry->gpe_start = start; - entry->gpe_end = start + size - 1; - - be16enc(&table->vtoc.part[index].tag, tag); - be16enc(&table->vtoc.part[index].flag, 0); - be32enc(&table->vtoc.timestamp[index], 0); - be32enc(&table->vtoc.map[index].cyl, start / table->secpercyl); - be32enc(&table->vtoc.map[index].nblks, size); - return (0); -} - -static int -g_part_vtoc8_create(struct g_part_table *basetable, struct g_part_parms *gpp) -{ - struct g_provider *pp; - struct g_part_entry *entry; - struct g_part_vtoc8_table *table; - uint64_t msize; - uint32_t acyls, ncyls, pcyls; - - pp = gpp->gpp_provider; - - if (pp->sectorsize < sizeof(struct vtoc8)) - return (ENOSPC); - if (pp->sectorsize > sizeof(struct vtoc8)) - return (ENXIO); - - table = (struct g_part_vtoc8_table *)basetable; - - msize = MIN(pp->mediasize / pp->sectorsize, UINT32_MAX); - table->secpercyl = basetable->gpt_sectors * basetable->gpt_heads; - pcyls = msize / table->secpercyl; - acyls = 2; - ncyls = pcyls - acyls; - msize = ncyls * table->secpercyl; - - snprintf(table->vtoc.ascii, sizeof(table->vtoc.ascii), - "FreeBSD%lldM cyl %u alt %u hd %u sec %u", - (long long)(msize / 2048), ncyls, acyls, basetable->gpt_heads, - basetable->gpt_sectors); - be32enc(&table->vtoc.version, VTOC_VERSION); - be16enc(&table->vtoc.nparts, VTOC8_NPARTS); - be32enc(&table->vtoc.sanity, VTOC_SANITY); - be16enc(&table->vtoc.rpm, 3600); - be16enc(&table->vtoc.physcyls, pcyls); - be16enc(&table->vtoc.ncyls, ncyls); - be16enc(&table->vtoc.altcyls, acyls); - be16enc(&table->vtoc.nheads, basetable->gpt_heads); - be16enc(&table->vtoc.nsecs, basetable->gpt_sectors); - be16enc(&table->vtoc.magic, VTOC_MAGIC); - - basetable->gpt_first = 0; - basetable->gpt_last = msize - 1; - basetable->gpt_isleaf = 1; - - entry = g_part_new_entry(basetable, VTOC_RAW_PART + 1, - basetable->gpt_first, basetable->gpt_last); - entry->gpe_internal = 1; - be16enc(&table->vtoc.part[VTOC_RAW_PART].tag, VTOC_TAG_BACKUP); - be32enc(&table->vtoc.map[VTOC_RAW_PART].nblks, msize); - return (0); -} - -static int -g_part_vtoc8_destroy(struct g_part_table *basetable, struct g_part_parms *gpp) -{ - - /* Wipe the first sector to clear the partitioning. */ - basetable->gpt_smhead |= 1; - return (0); -} - -static void -g_part_vtoc8_dumpconf(struct g_part_table *basetable, - struct g_part_entry *entry, struct sbuf *sb, const char *indent) -{ - struct g_part_vtoc8_table *table; - - table = (struct g_part_vtoc8_table *)basetable; - if (indent == NULL) { - /* conftxt: libdisk compatibility */ - sbuf_printf(sb, " xs SUN sc %u hd %u alt %u", - be16dec(&table->vtoc.nsecs), be16dec(&table->vtoc.nheads), - be16dec(&table->vtoc.altcyls)); - } else if (entry != NULL) { - /* confxml: partition entry information */ - sbuf_printf(sb, "%s%u\n", indent, - be16dec(&table->vtoc.part[entry->gpe_index - 1].tag)); - } else { - /* confxml: scheme information */ - } -} - -static int -g_part_vtoc8_dumpto(struct g_part_table *basetable, - struct g_part_entry *entry) -{ - struct g_part_vtoc8_table *table; - uint16_t tag; - - /* - * Allow dumping to a swap partition or a partition that - * has no type. - */ - table = (struct g_part_vtoc8_table *)basetable; - tag = be16dec(&table->vtoc.part[entry->gpe_index - 1].tag); - return ((tag == 0 || tag == VTOC_TAG_FREEBSD_SWAP || - tag == VTOC_TAG_SWAP) ? 1 : 0); -} - -static int -g_part_vtoc8_modify(struct g_part_table *basetable, - struct g_part_entry *entry, struct g_part_parms *gpp) -{ - struct g_part_vtoc8_table *table; - int error; - uint16_t tag; - - if (gpp->gpp_parms & G_PART_PARM_LABEL) - return (EINVAL); - - table = (struct g_part_vtoc8_table *)basetable; - if (gpp->gpp_parms & G_PART_PARM_TYPE) { - error = vtoc8_parse_type(gpp->gpp_type, &tag); - if (error) - return(error); - - be16enc(&table->vtoc.part[entry->gpe_index - 1].tag, tag); - } - return (0); -} - -static int -vtoc8_set_rawsize(struct g_part_table *basetable, struct g_provider *pp) -{ - struct g_part_vtoc8_table *table; - struct g_part_entry *baseentry; - off_t msize; - uint32_t acyls, ncyls, pcyls; - - table = (struct g_part_vtoc8_table *)basetable; - msize = MIN(pp->mediasize / pp->sectorsize, UINT32_MAX); *** 616 LINES SKIPPED *** From nobody Sun Aug 6 20:36:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrpJ0CqNz4mNZN; Sun, 6 Aug 2023 20:36:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrpH6fY5z4cCh; Sun, 6 Aug 2023 20:36:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E50Nlwp2/YvgzihPlZYFXG3brNA2nPH4NnTOFQ6Knt8=; b=mnOr/4M4wGyV/CszeCUcc70Uqw+1qQl/l5UWDT7PkH61rjV6264XPEJLMjgaSZ/+xhBQuk FGTVgtQAcXdhpJzuMGqpzjn6G4Z4AYcTAljfPnFWNdeXp6dvHGxKpyvIpyOJytwbTn4BVN jk7CgSxDdBPauCQjvR9wbxdVsWidNCsV5MY5VOSYT42B/NvciMMLSPXLlanPoUaOlwfowZ 9NGmGR3n3WtOKTHmG+PguXy+xglWht9CkDq7p3IUiWHjyhHsi4Iu5nWzJ2lNamORx67LXo G2FoxJq6hQUcZvw1AXvMgR3dilEW50Sq0ZKB/fUGGbfDSoEiK1+ZRWlkVRNf3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354199; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=E50Nlwp2/YvgzihPlZYFXG3brNA2nPH4NnTOFQ6Knt8=; b=MjoRx6ZGaml65uIYxyiPGPHTfzTFDYV4Cq0Oqwcb21joeWroXCnO/FDZ1fPA7LbNY0LzQv q2jhzVjxyF1l9j3NQxHGkGRv1LbdOfgdDtuIFHyHCt3ERQT4Nx7IW9d44rHyBVzTu7M9F1 BgYba6mxz4wTzn2Yp/qPzhbIi5d3qBkG0jBx8Rxz3gSj+NGvm3Mi4F0Uhbi1wO18MDvbHk fvAJEpN3Xryc7wj8SsrG3U4jmC1Rayw+aKsjSFa3NQ6Cqlt5Gja3vz3B3hcr26Tn0pYUzQ ix+b5Zc2XmDjmQSngvy2B5LiTcSjlRyhgjoqXJ0OTIyMFoCCDVbU1Zpi9bvlLg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354199; a=rsa-sha256; cv=none; b=Mo9+r4DZQIwDj9WUxl53qI9i6av+fwwbzC69E2SG3ajq80EdmOd34QIijQYznc14Y3bMlB CZE0fkPkK1NRnI7E9bzw9c9c5CFJvzColTIiDFva1XBr7KieXIo2cHaOc480mHn0CGUeI6 X23gjkBIupMQrjkXdAHzHw0yqy4bmAdzAdiMw4hVm3kj6iZdC4rPfS/QpuoC3WeZ6x6MKQ iewOHXbGBJBw0ACuYvnnHhxS3hOEM1VpHPhnIBqw9bOQdcQ/qPHT1yjBln7mZh+65jI8jC 0UVHdtuSy8jZQLVhPmY+hcjUg3DU66U5taraS/SL/cgyrgkCDVh4r17Eu8gaiQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrpH52s9z91G; Sun, 6 Aug 2023 20:36:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376Kad8G042917; Sun, 6 Aug 2023 20:36:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376Kadbo042916; Sun, 6 Aug 2023 20:36:39 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:39 GMT Message-Id: <202308062036.376Kadbo042916@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 0096e445c55a - stable/13 - ffs: wait for trims earlier during unmount to avoid panic List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 0096e445c55a4a882c213d91eaf33766e27439f4 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=0096e445c55a4a882c213d91eaf33766e27439f4 commit 0096e445c55a4a882c213d91eaf33766e27439f4 Author: Chuck Silvers AuthorDate: 2022-04-08 17:19:40 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 17:56:42 +0000 ffs: wait for trims earlier during unmount to avoid panic All softdep processing is supposed to be completed by softdep_flushfiles() and no more deps are supposed to be created after that, but if a pending trim completes after softdep_flushfiles() and before softdep_unmount() then the blkfree that is performed by ffs_blkfree_trim_task() will create a dep when none should exist, and if softdep_unmount() is called before that dep is freed then the kernel will panic. Prevent this by waiting for trims to complete earlier in the unmount process, in ffs_flushfiles(), so that any deps will be freed and any modified CG buffers will be flushed by the final fsync of the devvp in ffs_flushfiles() as intended. (cherry picked from commit 3dc5f8e19d8c975a5e27752d65f9aa91d67c9c9e) --- sys/ufs/ffs/ffs_vfsops.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/sys/ufs/ffs/ffs_vfsops.c b/sys/ufs/ffs/ffs_vfsops.c index e77d5e336bf1..23d0c9bc60df 100644 --- a/sys/ufs/ffs/ffs_vfsops.c +++ b/sys/ufs/ffs/ffs_vfsops.c @@ -1452,9 +1452,7 @@ ffs_unmount(struct mount *mp, int mntflags) if (susp) vfs_write_resume(mp, VR_START_WRITE); if (ump->um_trim_tq != NULL) { - while (ump->um_trim_inflight != 0) - pause("ufsutr", hz); - taskqueue_drain_all(ump->um_trim_tq); + MPASS(ump->um_trim_inflight == 0); taskqueue_free(ump->um_trim_tq); free (ump->um_trimhash, M_TRIM); } @@ -1564,6 +1562,20 @@ ffs_flushfiles(struct mount *mp, int flags, struct thread *td) if (qerror == 0 && (error = vflush(mp, 0, flags, td)) != 0) return (error); + /* + * If this is a forcible unmount and there were any files that + * were unlinked but still open, then vflush() will have + * truncated and freed those files, which might have started + * some trim work. Wait here for any trims to complete + * and process the blkfrees which follow the trims. + * This may create more dirty devvp buffers and softdep deps. + */ + if (ump->um_trim_tq != NULL) { + while (ump->um_trim_inflight != 0) + pause("ufsutr", hz); + taskqueue_drain_all(ump->um_trim_tq); + } + /* * Flush filesystem metadata. */ From nobody Sun Aug 6 20:36:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrpK0bbXz4mNfG; Sun, 6 Aug 2023 20:36:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrpJ6j9Vz4c4y; Sun, 6 Aug 2023 20:36:40 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+KT1UnCecoSTidARWjYZmPyPNTMEk94xA7XmKosEjcU=; b=mt5ER85FBS/er09qgwTskUXYwaPcEAdjmQx6vUIcr2X5dTrDHlds+dESlRgC0Fd7U+Fd4T 3m9jGa7kgjFEkhfpmfcmMca+TalrV5H1Tw3iAUwu6lmE5IA2YZncCj2gymo4VKZyuDgorm ZH41T+qmeb+WgeGH86gLFRdVvmoGzTnnnrNS+FrwPv8RM8YdcAb4KXLG9Nrb/zzIrF6tzr +yx4negBt4/SrtxNxpuLqN+fy3r1mqIAjf6WQpjkhv6i/hMjvV6DLV88OXxafE9Y/nFrSH YX5rvSyhOVHuDYu2FLwZfbFM9w3q/fmcq9B5bOr/mUZkmgarvtw685d5QvHdbQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354200; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+KT1UnCecoSTidARWjYZmPyPNTMEk94xA7XmKosEjcU=; b=tUWVUffDpa6z2WbMQPlLqMwvLl+IvjCP0/OGb/aP2z5K4ZuOzoWrl+FXfsDk8JgGp9vqns WD3kcgY4wPm4QhwRTKRlxHp5CUFcekDuml6RwLnQRDIPEhe2hYQgco9lmyGyQrny9EodL2 P/iE5eklR83BjleByfyW380ATs+jytE7/9TEAoVrShj7uEjIcLPGyApV/8tQURazP1s3GU ZGIlLOFktSFoUddwWkQd1DHI7Ma34Wi/VCE04Akv3fxMddRZ/3M3PXf1Mgevlv0e2ebBfl l9aY/J05EPPlmVxujlys+Cj19V3ZiSHghlQReCP56c2NaESdmFzuI1HOErsLIA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354200; a=rsa-sha256; cv=none; b=EmXk1ws8vnCvcniYVHVQDGA0WEgvnlf71N2udSjhvqDbr9RKyJGFWx0D+IN6Iqaw8xMw3t W8WG3pOAyQkPdPF+f4+JqdJXKbKdk87cnXq561Ek9sLusYr/AQVEQi9w59LWFSbyx4V1Rf 6J42j41WkD81cvCxFmIhfhM9RlbJkjwR6rN7njZKojUC40EB1I7M/K2EVVnCs95nHPZlqL Db2Z10i9yqaz91yawZO84a6C5AltWk2mDF9c3Ccvz70x7rCnuEWriaRqdW7kcRMC8UbV0X axwyI3ssnyadhDsvPbdPB9JdQorXB22Lgk30V4C5wU7MGaHWwS2k4Mxxn42Obg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrpJ5pwJz9Bb; Sun, 6 Aug 2023 20:36:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376Kaeie042936; Sun, 6 Aug 2023 20:36:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376Kae8C042935; Sun, 6 Aug 2023 20:36:40 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:40 GMT Message-Id: <202308062036.376Kae8C042935@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 685f0d228395 - stable/13 - tests: also remove sparc64 case List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 685f0d228395bc1074ebef998832176d5186bd15 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=685f0d228395bc1074ebef998832176d5186bd15 commit 685f0d228395bc1074ebef998832176d5186bd15 Author: Ed Maste AuthorDate: 2022-11-08 18:14:55 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 18:52:57 +0000 tests: also remove sparc64 case (cherry picked from commit 185efcc376b9dcb3b920d1053a250ac754ad163a) --- tests/sys/kern/ptrace_test.c | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/tests/sys/kern/ptrace_test.c b/tests/sys/kern/ptrace_test.c index 2657d8b18ce6..1e917d6e1935 100644 --- a/tests/sys/kern/ptrace_test.c +++ b/tests/sys/kern/ptrace_test.c @@ -59,8 +59,7 @@ __FBSDID("$FreeBSD$"); * Architectures with a user-visible breakpoint(). */ #if defined(__aarch64__) || defined(__amd64__) || defined(__arm__) || \ - defined(__i386__) || defined(__mips__) || defined(__riscv) || \ - defined(__sparc64__) + defined(__i386__) || defined(__mips__) || defined(__riscv) #define HAVE_BREAKPOINT #endif @@ -78,11 +77,6 @@ __FBSDID("$FreeBSD$"); #define SKIP_BREAK(reg) ((reg)->r_regs[PC] += 4) #elif defined(__riscv) #define SKIP_BREAK(reg) ((reg)->sepc += 4) -#elif defined(__sparc64__) -#define SKIP_BREAK(reg) do { \ - (reg)->r_tpc = (reg)->r_tnpc + 4; \ - (reg)->r_tnpc += 8; \ -} while (0) #endif #endif From nobody Sun Aug 6 20:36:41 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJrpL30c4z4mNfN; Sun, 6 Aug 2023 20:36:42 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJrpL0dHDz4cGS; Sun, 6 Aug 2023 20:36:42 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PBfWCXW1DRQPgcxzY1DNUxn2bPidZqkIXIUCzxEudmc=; b=ClaYEWuv70beUoHnEAGDxkuM8NLRfDKbC53nn77Bkcfwx1DtTT8QOYPckvYFf++tlN+piq 2y6H9lpUJPKPs0jhv1XrZRj6Pz+15rQoQESi12ov30d14kwESOjPvBbOpFswDKMzKVYT7a TuEys3NGSyhsoZ95ZpqEqukIzO3nQdBSk2WSfwfMMw5+F6wtwyxO3UbCyV67BPoyuZjdmi 4IrLnHaKEzPUr5v70tXXm0Xp0EfrK7E19W7JxRfD90w9GRNJk4yC0AhISu9Ee6h+1xS1wK lms82k+2+5LMJqs4WZioQ0eK5mSlTYW8CJbkXeKveQ9cMJekCuG7sRr4KoK+Bw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691354202; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=PBfWCXW1DRQPgcxzY1DNUxn2bPidZqkIXIUCzxEudmc=; b=bIp1o5xWQ1/V67QymOtvNLQjEIdLus7PATf1tmQbjepxeNkZSOfjJYWOFDJBCIr9s8BJ1L zRGgAr0MvKSBaewRxim05MlJ8bYS/4a/7eASx8xkOlnnXvxg1dz+srZtDe+j+yB35ubhwf UdE8PbqC2A0EKD6IxEtdTUmUTYoSp8Io+4dqbXboJl9PCmsBSffCpwIc0vHUQm0NnYY1Gp bxbvktR7KwWX2oaOUugv4Qy4rf3FQhIkCF8CNXqDxxpTAyqdkMwmBOnxbANdNHLRqlAWGx Hpq3L+Nv2NKVyg1yWIHJOGDONKqi02Nx6C2lvMuppgDwzlO54CpNIxs2okj9jw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691354202; a=rsa-sha256; cv=none; b=v1iNLCGQ803E+iUpt5ASoNPfSIpCKaoEGByh03i6iHiHqZW8XogIZgkfdpyH2ctdr3ihig hreZNyD3DfV6TunsHlRQ3RZuYy/6msZx0OC/BsaCPSMLIs9YYYPcj3e5HOc/3NYnE4K7fG 6QKEPdluVOeCHHYwSDurEQd8wodTzEJ03Jw1vfS1eY2veVI2xIKBiTKA3yea/9+cHyNT/x BjTjT3a0XKTo5nBKaH2+5Cs/HBj4xfwpdOXXDLApQes+A+MNZcdjKEl9zVCelG3tyii1ks e7etXqeoTVtHnW+G9NK5wimACqqOUKu9xehc86a+zR+WFycoLYz9fjl+AWePzg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJrpK6s5mz91H; Sun, 6 Aug 2023 20:36:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 376Kaf28042958; Sun, 6 Aug 2023 20:36:41 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 376Kafkq042957; Sun, 6 Aug 2023 20:36:41 GMT (envelope-from git) Date: Sun, 6 Aug 2023 20:36:41 GMT Message-Id: <202308062036.376Kafkq042957@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: 46c05afd2f76 - stable/13 - stand: Update testing script for arch retirement List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 46c05afd2f766e7a3700266d17b103087e1a26c5 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=46c05afd2f766e7a3700266d17b103087e1a26c5 commit 46c05afd2f766e7a3700266d17b103087e1a26c5 Author: Warner Losh AuthorDate: 2022-08-14 14:41:11 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 19:01:41 +0000 stand: Update testing script for arch retirement And catch up to changes in booting methods currently supported. Add riscv. (cherry picked from commit aff95057bca1dc929996a616b0c39a6ff89a1bbf) --- tools/boot/rootgen.sh | 47 ++++++++--------------------------------------- 1 file changed, 8 insertions(+), 39 deletions(-) diff --git a/tools/boot/rootgen.sh b/tools/boot/rootgen.sh index b61fff647b5c..fcd5c0afef46 100755 --- a/tools/boot/rootgen.sh +++ b/tools/boot/rootgen.sh @@ -645,29 +645,6 @@ mk_geli_mbr_zfs_both() { # u-boot # powerpc -mk_sparc64_nogeli_vtoc8_ufs_ofw() { - src=$1 - img=$2 - mntpt=$3 - geli=$4 - scheme=$5 - fs=$6 - bios=$7 - - cat > ${src}/etc/fstab < To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Marius Strobl Subject: git: e616ceec8295 - stable/13 - gitignore: whack dead architectures List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: marius X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e616ceec82957d8b2f57d3b7f110d908f9ea4469 Auto-Submitted: auto-generated The branch stable/13 has been updated by marius: URL: https://cgit.FreeBSD.org/src/commit/?id=e616ceec82957d8b2f57d3b7f110d908f9ea4469 commit e616ceec82957d8b2f57d3b7f110d908f9ea4469 Author: Mateusz Guzik AuthorDate: 2022-11-23 01:18:03 +0000 Commit: Marius Strobl CommitDate: 2023-08-06 19:05:36 +0000 gitignore: whack dead architectures (cherry picked from commit 04af98db59102159682c366cbdaeca2d260d46a8) --- .gitignore | 4 ---- 1 file changed, 4 deletions(-) diff --git a/.gitignore b/.gitignore index b59f2b4b1d32..668b6d90483a 100644 --- a/.gitignore +++ b/.gitignore @@ -10,13 +10,9 @@ _.amd64.* _.arm.* _.arm64.* _.i386.* -_.ia64.* _.mips.* -_.pc98.* _.powerpc.* _.riscv.* -_.sparc64.* -_.sun4v.* GPATH GRTAGS GTAGS From nobody Mon Aug 7 00:59:49 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJydy28Mgz4pk0B; Mon, 7 Aug 2023 00:59:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJydy1cF8z3WfW; Mon, 7 Aug 2023 00:59:50 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691369990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9R2qvhsSyMRXfkjWVjUq+Tf8isDP4EK/xpGo639MMk=; b=dUm4Iw1SnUxJHg40DbP3zreD/+aPxT1BpmIhs/wiUd+Z9BeTUTiD84sOTdQNor2nu+awRK 2DtDxrzWGek8FIqhHHtVXDgVPPmEy5BapJSzXWcYYtfzYf+6CQ9MR4ZmicbtjLa88RVnIa W6kjuRd1bDCkTXj2Ll4v4ggifpFb72x9/1B0YKwg5iLv3NLPRbLakhsFx8xluXXRpRQPdU onmJLdxR/9i8KlNnmQFD7mxLiiPP33iE/6dmZS7o/JQ/soC3m+EhynuBPXxwEtHnAFmYPK B3RolXBpA098VpySppWxIrwHR9N/STJiin8xn/kfTbHKOKQRvgX0Uda1QZAccQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691369990; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9R2qvhsSyMRXfkjWVjUq+Tf8isDP4EK/xpGo639MMk=; b=G2hohYZmRziJgWwLgy1gAISUPL48wixb+2u/KAd4i1bSHFezOlYp2u3j6Z8idV0jxHTXoF 8VDdP/q1k7fP90a5EK1h5V7ZG+68NdW6hsPiXeayDlPxNUJPWHSqZ6tMyzLw3BmQIy10eG wE9VUEyzlFwhtP6qoRZMBMx2Q9sUjgwj/gbHhcxGR6qny+do0hduxVD93roUyHwgpLRKy8 RW1vt/9tSetZIoKlNLu55nmuQQkmqsmYEVBnhDqh5KmP9wuEZCtE5c/Or9u8U5uJScsuQ/ 52J44rELfEwyLGWL0RryDFpOB1sqYY2RjqYjvjGEQQyO852NDC3K4HXBsSkiEw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691369990; a=rsa-sha256; cv=none; b=j+1U9i7c/rqC0auoBUhaEJvpCs+zujCrla4uWpSzn7Xg1Oik9nLuY/xH8piMY8Lzet99B7 NHoLy/V3dg2HfuKojAnBQWRzmMBOvIlei9GpP87z4PysGYdqKikdKdq3aDgvI7qlf5R1tE 7ucXN+Wq28EDtPTWW7EXu+UVmJDJWeC1MRtHHjAvSl0sQwEZWrHJ0A6Ife4ntEonQDL+Y9 fbqkzPWXa9p40alBnAgswjwX/cU6Pqce3Cb3LztRGqElPRzJXRoOIJqL20a2+To56rMmah tynAnPcr5FCyFPJNCNxVlB9NU5lWYzoOCGXQxf6wBWpuRPb6wOS845lUeNq0Vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJydy0X3qzXbY; Mon, 7 Aug 2023 00:59:50 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3770xnBv077188; Mon, 7 Aug 2023 00:59:49 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3770xnGF077187; Mon, 7 Aug 2023 00:59:49 GMT (envelope-from git) Date: Mon, 7 Aug 2023 00:59:49 GMT Message-Id: <202308070059.3770xnGF077187@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 2b0cd3b55294 - stable/13 - killpg(2): close a race with fork(2), part1 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 2b0cd3b552942c642a84f8e224b989c02d97125d Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=2b0cd3b552942c642a84f8e224b989c02d97125d commit 2b0cd3b552942c642a84f8e224b989c02d97125d Author: Konstantin Belousov AuthorDate: 2023-06-12 07:33:43 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-07 00:48:45 +0000 killpg(2): close a race with fork(2), part1 (cherry picked from commit 3360b48525fc966894e77b8cd9c124669664472d) --- sys/kern/init_main.c | 1 + sys/kern/kern_fork.c | 28 ++++++++++++++++++++++++++++ sys/kern/kern_proc.c | 20 ++++++++++++++++++++ sys/kern/kern_prot.c | 17 +++++++++++++---- sys/kern/kern_sig.c | 8 ++++++++ sys/sys/proc.h | 2 ++ 6 files changed, 72 insertions(+), 4 deletions(-) diff --git a/sys/kern/init_main.c b/sys/kern/init_main.c index c8cb0f5613ee..2f98d8a577d9 100644 --- a/sys/kern/init_main.c +++ b/sys/kern/init_main.c @@ -489,6 +489,7 @@ proc0_init(void *dummy __unused) LIST_INSERT_HEAD(&allproc, p, p_list); LIST_INSERT_HEAD(PIDHASH(0), p, p_hash); mtx_init(&pgrp0.pg_mtx, "process group", NULL, MTX_DEF | MTX_DUPOK); + sx_init(&pgrp0.pg_killsx, "killpg racer"); p->p_pgrp = &pgrp0; LIST_INSERT_HEAD(PGRPHASH(0), &pgrp0, pg_hash); LIST_INIT(&pgrp0.pg_members); diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 2d7e7bc0de4a..6fb9d2a83c8f 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -851,11 +851,13 @@ fork1(struct thread *td, struct fork_req *fr) struct vmspace *vm2; struct ucred *cred; struct file *fp_procdesc; + struct pgrp *pg; vm_ooffset_t mem_charged; int error, nprocs_new; static int curfail; static struct timeval lastfail; int flags, pages; + bool killsx_locked; flags = fr->fr_flags; pages = fr->fr_pages; @@ -912,6 +914,7 @@ fork1(struct thread *td, struct fork_req *fr) fp_procdesc = NULL; newproc = NULL; vm2 = NULL; + killsx_locked = false; /* * Increment the nprocs resource before allocations occur. @@ -941,6 +944,28 @@ fork1(struct thread *td, struct fork_req *fr) } } + /* + * Atomically check for signals and block threads from sending + * a signal to our process group until the child is visible. + */ + pg = p1->p_pgrp; + if (sx_slock_sig(&pg->pg_killsx) != 0) { + error = ERESTART; + goto fail2; + } else if (__predict_false(p1->p_pgrp != pg || sig_intr() != 0)) { + /* + * Either the process was moved to other process + * group, or there is pending signal. sx_slock_sig() + * does not check for signals if not sleeping for the + * lock. + */ + sx_sunlock(&pg->pg_killsx); + error = ERESTART; + goto fail2; + } else { + killsx_locked = true; + } + /* * If required, create a process descriptor in the parent first; we * will abandon it if something goes wrong. We don't finit() until @@ -1031,6 +1056,7 @@ fork1(struct thread *td, struct fork_req *fr) } do_fork(td, fr, newproc, td2, vm2, fp_procdesc); + sx_sunlock(&pg->pg_killsx); return (0); fail0: error = EAGAIN; @@ -1049,6 +1075,8 @@ fail2: fdrop(fp_procdesc, td); } atomic_add_int(&nprocs, -1); + if (killsx_locked) + sx_sunlock(&pg->pg_killsx); pause("fork", hz / 2); return (error); } diff --git a/sys/kern/kern_proc.c b/sys/kern/kern_proc.c index 2879af8f9335..09796d542b4d 100644 --- a/sys/kern/kern_proc.c +++ b/sys/kern/kern_proc.c @@ -311,6 +311,7 @@ pgrp_init(void *mem, int size, int flags) pg = mem; mtx_init(&pg->pg_mtx, "process group", NULL, MTX_DEF | MTX_DUPOK); + sx_init(&pg->pg_killsx, "killpg racer"); return (0); } @@ -574,6 +575,7 @@ errout: int enterpgrp(struct proc *p, pid_t pgid, struct pgrp *pgrp, struct session *sess) { + struct pgrp *old_pgrp; sx_assert(&proctree_lock, SX_XLOCKED); @@ -585,6 +587,11 @@ enterpgrp(struct proc *p, pid_t pgid, struct pgrp *pgrp, struct session *sess) KASSERT(!SESS_LEADER(p), ("enterpgrp: session leader attempted setpgrp")); + old_pgrp = p->p_pgrp; + if (!sx_try_xlock(&old_pgrp->pg_killsx)) + return (ERESTART); + MPASS(old_pgrp == p->p_pgrp); + if (sess != NULL) { /* * new session @@ -626,6 +633,7 @@ enterpgrp(struct proc *p, pid_t pgid, struct pgrp *pgrp, struct session *sess) doenterpgrp(p, pgrp); + sx_xunlock(&old_pgrp->pg_killsx); return (0); } @@ -635,6 +643,7 @@ enterpgrp(struct proc *p, pid_t pgid, struct pgrp *pgrp, struct session *sess) int enterthispgrp(struct proc *p, struct pgrp *pgrp) { + struct pgrp *old_pgrp; sx_assert(&proctree_lock, SX_XLOCKED); PROC_LOCK_ASSERT(p, MA_NOTOWNED); @@ -647,8 +656,19 @@ enterthispgrp(struct proc *p, struct pgrp *pgrp) KASSERT(pgrp != p->p_pgrp, ("%s: p %p belongs to pgrp %p", __func__, p, pgrp)); + old_pgrp = p->p_pgrp; + if (!sx_try_xlock(&old_pgrp->pg_killsx)) + return (ERESTART); + MPASS(old_pgrp == p->p_pgrp); + if (!sx_try_xlock(&pgrp->pg_killsx)) { + sx_xunlock(&old_pgrp->pg_killsx); + return (ERESTART); + } + doenterpgrp(p, pgrp); + sx_xunlock(&pgrp->pg_killsx); + sx_xunlock(&old_pgrp->pg_killsx); return (0); } diff --git a/sys/kern/kern_prot.c b/sys/kern/kern_prot.c index cf88cae3a72d..3677c6db368e 100644 --- a/sys/kern/kern_prot.c +++ b/sys/kern/kern_prot.c @@ -332,12 +332,13 @@ sys_setsid(struct thread *td, struct setsid_args *uap) struct pgrp *newpgrp; struct session *newsess; - error = 0; pgrp = NULL; newpgrp = uma_zalloc(pgrp_zone, M_WAITOK); newsess = malloc(sizeof(struct session), M_SESSION, M_WAITOK | M_ZERO); +again: + error = 0; sx_xlock(&proctree_lock); if (p->p_pgid == p->p_pid || (pgrp = pgfind(p->p_pid)) != NULL) { @@ -345,7 +346,12 @@ sys_setsid(struct thread *td, struct setsid_args *uap) PGRP_UNLOCK(pgrp); error = EPERM; } else { - (void)enterpgrp(p, p->p_pid, newpgrp, newsess); + error = enterpgrp(p, p->p_pid, newpgrp, newsess); + if (error == ERESTART) { + sx_xunlock(&proctree_lock); + goto again; + } + MPASS(error == 0); td->td_retval[0] = p->p_pid; newpgrp = NULL; newsess = NULL; @@ -391,10 +397,11 @@ sys_setpgid(struct thread *td, struct setpgid_args *uap) if (uap->pgid < 0) return (EINVAL); - error = 0; - newpgrp = uma_zalloc(pgrp_zone, M_WAITOK); +again: + error = 0; + sx_xlock(&proctree_lock); if (uap->pid != 0 && uap->pid != curp->p_pid) { if ((targp = pfind(uap->pid)) == NULL) { @@ -456,6 +463,8 @@ done: sx_xunlock(&proctree_lock); KASSERT(error == 0 || newpgrp != NULL, ("setpgid failed and newpgrp is NULL")); + if (error == ERESTART) + goto again; uma_zfree(pgrp_zone, newpgrp); return (error); } diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 79440c2866df..77f63252454a 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -1769,6 +1769,7 @@ killpg1(struct thread *td, int sig, int pgid, int all, ksiginfo_t *ksi) } sx_sunlock(&allproc_lock); } else { +again: sx_slock(&proctree_lock); if (pgid == 0) { /* @@ -1784,10 +1785,17 @@ killpg1(struct thread *td, int sig, int pgid, int all, ksiginfo_t *ksi) } } sx_sunlock(&proctree_lock); + if (!sx_try_xlock(&pgrp->pg_killsx)) { + PGRP_UNLOCK(pgrp); + sx_xlock(&pgrp->pg_killsx); + sx_xunlock(&pgrp->pg_killsx); + goto again; + } LIST_FOREACH(p, &pgrp->pg_members, p_pglist) { killpg1_sendsig(p, false, &arg); } PGRP_UNLOCK(pgrp); + sx_xunlock(&pgrp->pg_killsx); } MPASS(arg.ret != 0 || arg.found || !arg.sent); if (arg.ret == 0 && !arg.sent) diff --git a/sys/sys/proc.h b/sys/sys/proc.h index 997ff110bcdc..d3daa0c6879a 100644 --- a/sys/sys/proc.h +++ b/sys/sys/proc.h @@ -113,6 +113,8 @@ struct pgrp { pid_t pg_id; /* (c) Process group id. */ struct mtx pg_mtx; /* Mutex to protect members */ int pg_flags; /* (m) PGRP_ flags */ + struct sx pg_killsx; /* Mutual exclusion between group member + * fork() and killpg() */ }; #define PGRP_ORPHANED 0x00000001 /* Group is orphaned */ From nobody Mon Aug 7 00:59:51 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJydz3hJGz4pk4x; Mon, 7 Aug 2023 00:59:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJydz2cZcz3X0Y; Mon, 7 Aug 2023 00:59:51 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691369991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KMbRQHzOAYAjHFwElg11+Gp0tQK+AJsjeYGJQn7A3NQ=; b=oV041il/eirria9c/2ihoQu+a58EWDyNYzhOH20nR8GcVOTRKfhe9tS7LEUrR8IJe9w4nI 7YvExkUiyk4i2rgDxd+kyq3nO9d3d4HYg8Ge6/u869wH+h7XNXrukp0sHJlRWxKegEDs1A WsRqzxafM82EUrfFlMDlgQbT7zPnhX5GogoC6IKSNBPaIVntioIBRb6G2tRbX3+7jFmTRS 1/dwxAVKQ8Gi0F+RVA3BnwGExOj5WH6t+q1NNVxSTv0gTDJYXHJanjzEeRnEQHtbZ06buy gr/0vH2s0MpWmZ8ihH5F7GInXi/zNszFJ0lalF5tGE4Fc6xIL8+UPYUdyHpQ5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691369991; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=KMbRQHzOAYAjHFwElg11+Gp0tQK+AJsjeYGJQn7A3NQ=; b=JsFzjImSeurYTEQLkSoAABITMBN+orcK5y+sdda2cooE/pbvaMUaZ5RPj34Nb8rBh4Qhx1 4990yH6nwzhSMZ8njhOCYOccRoS+A9+BIf4+PE4cJek6H8MJtI3qLU07Yiar/d1eJTF2RC oWy37JelrrYO6oTmpAayvEkd6GSG3JGqoXdIjuLOSPMfnSxfI2R4VLgyikSfpHt4rggg0q jqdtQ98w2y/QMTXK0dDMqElGyzRhWSbtWH/ZRdtMcG08mTAc8rvRdnnFwkvKqZLxO33pC2 gixWnIArWdB6i2mb0a1VdGRKtdtMhdiZ/YhZKtukJWk9Y1J0d5/qjIgVQSzQBw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691369991; a=rsa-sha256; cv=none; b=q6FnA1de5LLItfc5PJZ0YEIR1N65Q2AVTov7YUrEo/Rll76BaquXcENTL4Dv7i7ikiDxaN tIvErQAXFDJVYTOXc5PlgTj2iq4rSMj7TPF8kF6ZtV1eFV+4MyQyYGPXDJl2kIXC8DZDUv h/L/lQ2pWb0gf3O8i3KyumfpFlpvQpsk4GTKlsf1/6pNQ0HTCjURYMZxqTtuBzFrU0mzlf 6KBgzwSsdHYdoRqDdl3KE7azFA97d0GLn3J6cHSpTAIMAw0XSJPcNa8TNWCsfkb9WEFsYN u1suDNN+ZER9RUEn93xGr4RG6HG5hw56/UeJKeEDm8KyVNmWCMpw+xXQXlsn4A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJydz17kmzY1q; Mon, 7 Aug 2023 00:59:51 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3770xpmw077207; Mon, 7 Aug 2023 00:59:51 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3770xpF2077206; Mon, 7 Aug 2023 00:59:51 GMT (envelope-from git) Date: Mon, 7 Aug 2023 00:59:51 GMT Message-Id: <202308070059.3770xpF2077206@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 54747740ccc6 - stable/13 - sigtd(): prefer non-stopped thread as a target for signal queue List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 54747740ccc6a717c54f23324639bedff5f64211 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=54747740ccc6a717c54f23324639bedff5f64211 commit 54747740ccc6a717c54f23324639bedff5f64211 Author: Konstantin Belousov AuthorDate: 2023-07-21 09:41:39 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-07 00:48:45 +0000 sigtd(): prefer non-stopped thread as a target for signal queue (cherry picked from commit dfe172484d0e1de0bb32bcab8775eb83e15031c0) --- sys/kern/kern_sig.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 77f63252454a..e002d7d0e5fa 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -2100,14 +2100,18 @@ sigtd(struct proc *p, int sig, bool fast_sigblock) if (curproc == p && !SIGISMEMBER(curthread->td_sigmask, sig) && (!fast_sigblock || curthread->td_sigblock_val == 0)) return (curthread); + + /* Find a non-stopped thread that does not mask the signal. */ signal_td = NULL; FOREACH_THREAD_IN_PROC(p, td) { if (!SIGISMEMBER(td->td_sigmask, sig) && (!fast_sigblock || - td != curthread || td->td_sigblock_val == 0)) { + td != curthread || td->td_sigblock_val == 0) && + (td->td_flags & TDF_BOUNDARY) == 0) { signal_td = td; break; } } + /* Select random (first) thread if no better match was found. */ if (signal_td == NULL) signal_td = FIRST_THREAD_IN_PROC(p); return (signal_td); From nobody Mon Aug 7 00:59:52 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJyf02tVrz4pk87; Mon, 7 Aug 2023 00:59:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJyf02LPSz3Wcc; Mon, 7 Aug 2023 00:59:52 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691369992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i9ZX/FqWVNvVcCf9S4p0NEzEOs2Gt5xSuywdqL/Lgd0=; b=UEzNNACPK6I1h3YwqbM1FmnOZsQKsbPaMVODOrmnR46G77EOmR+ADE7IYKdjo2ZWCmxyRt HrLNnLe5s2qUaHCDcXxi5mp4hO3qfy4RLLx57TXYrg7JxdBaXpaQn2BnibyII/ZEsYS414 Ka+rmTVr0ui2G0ypj5MSheImaJV2SxfjVa8trFQHNkUESbtA1JXXOhj65URG6GXwA5M1ck TWFeq6AFnPtTmYea6WlX+tv+aqmgMBf5lrrCcpdDf8fLSOsPXaNGP3gFbTSFWOLC0V4j4k 2mHx1/KNi2+LdGlJ02HjHzlKH8dhOOa+IvgsmzFAgAA2W6KMWtLkieZbrGamOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691369992; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=i9ZX/FqWVNvVcCf9S4p0NEzEOs2Gt5xSuywdqL/Lgd0=; b=l0GtNKCJmY4ljS4Tl6PCMZ3WX4myAlmayhlxNh77GPjlxIm57ca/PvBxiqzXx/DQhbpO78 zbZbLF6BAlzKCTVR+dIraM1IljELKol/QaYZ1XSXW0dNPFWTxH3ZB4F8L9muQNlLS/AsuU iidsbT1yT3v/dHHmx8uJQzzzyJfTAjiH6ziSuqLi996KjO8vtT2Tl5fmdhE34ZKCuWei7V wpGhCkmBlIvS2QecF2ZHTNnF3xf+wJQTJ15i1v3RxPa99d/kPuhmkcihmp1VnTcaOB1aHu uIHEfIgLHuW/py5so1RAaYKgpVja7Ip/vVwkLDJfbQbcDCgZ8z+D+kRsutrScw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691369992; a=rsa-sha256; cv=none; b=XoSxunX0n3oeag9ZhfawxZJLeaV3M2kKH7as4L7pvRJjgtZVJ5MkzMebIUU7b8Nx2xTUq3 Xjtozz0cPdrjHDISNnUWcIrR+qfUtM2lz/s9FtF8D4JAXbwTIAgULpLyCzwWPRm6wiyJBi 8avwe/H26CPs6Oaq7xxQtkAgp01ePLYj0ouXuUGjEeAO6xkL3s9ALCmTQZWu0hnDpNRa7l kiAV7wsp9uJ1wYCWyrrvyGyd1g4z2uuxfrRK3zBmtbVOq03Lgg33tDSs4Y5Wp6a27Au+Ig ob7gtnxitgSw7trpX6qod8MhbZYdqIpUpjLhN+TClyxnar+nk65Wr8mo9Shpiw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJyf01QhCzXqZ; Mon, 7 Aug 2023 00:59:52 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3770xq4i077226; Mon, 7 Aug 2023 00:59:52 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3770xqim077225; Mon, 7 Aug 2023 00:59:52 GMT (envelope-from git) Date: Mon, 7 Aug 2023 00:59:52 GMT Message-Id: <202308070059.3770xqim077225@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 910aa553a9ba - stable/13 - killpg(): close a race with fork(), part 2 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 910aa553a9baaa66030b40dc56c254bcc74a9286 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=910aa553a9baaa66030b40dc56c254bcc74a9286 commit 910aa553a9baaa66030b40dc56c254bcc74a9286 Author: Konstantin Belousov AuthorDate: 2023-07-20 21:19:03 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-07 00:48:45 +0000 killpg(): close a race with fork(), part 2 (cherry picked from commit 232b922cb363e01ac0dd2a277d93cf74d8485e79) --- sys/kern/kern_fork.c | 47 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 39 insertions(+), 8 deletions(-) diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 6fb9d2a83c8f..3b612e7b8990 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -857,7 +857,7 @@ fork1(struct thread *td, struct fork_req *fr) static int curfail; static struct timeval lastfail; int flags, pages; - bool killsx_locked; + bool killsx_locked, singlethreaded; flags = fr->fr_flags; pages = fr->fr_pages; @@ -915,6 +915,7 @@ fork1(struct thread *td, struct fork_req *fr) newproc = NULL; vm2 = NULL; killsx_locked = false; + singlethreaded = false; /* * Increment the nprocs resource before allocations occur. @@ -945,14 +946,37 @@ fork1(struct thread *td, struct fork_req *fr) } /* - * Atomically check for signals and block threads from sending - * a signal to our process group until the child is visible. + * If we are possibly multi-threaded, and there is a process + * sending a signal to our group right now, ensure that our + * other threads cannot be chosen for the signal queueing. + * Otherwise, this might delay signal action, and make the new + * child escape the signaling. */ pg = p1->p_pgrp; - if (sx_slock_sig(&pg->pg_killsx) != 0) { + if (p1->p_numthreads > 1) { + if (sx_try_slock(&pg->pg_killsx) != 0) { + killsx_locked = true; + } else { + PROC_LOCK(p1); + if (thread_single(p1, SINGLE_BOUNDARY)) { + PROC_UNLOCK(p1); + error = ERESTART; + goto fail2; + } + PROC_UNLOCK(p1); + singlethreaded = true; + } + } + + /* + * Atomically check for signals and block processes from sending + * a signal to our process group until the child is visible. + */ + if (!killsx_locked && sx_slock_sig(&pg->pg_killsx) != 0) { error = ERESTART; goto fail2; - } else if (__predict_false(p1->p_pgrp != pg || sig_intr() != 0)) { + } + if (__predict_false(p1->p_pgrp != pg || sig_intr() != 0)) { /* * Either the process was moved to other process * group, or there is pending signal. sx_slock_sig() @@ -1056,8 +1080,8 @@ fork1(struct thread *td, struct fork_req *fr) } do_fork(td, fr, newproc, td2, vm2, fp_procdesc); - sx_sunlock(&pg->pg_killsx); - return (0); + error = 0; + goto cleanup; fail0: error = EAGAIN; #ifdef MAC @@ -1075,9 +1099,16 @@ fail2: fdrop(fp_procdesc, td); } atomic_add_int(&nprocs, -1); +cleanup: if (killsx_locked) sx_sunlock(&pg->pg_killsx); - pause("fork", hz / 2); + if (singlethreaded) { + PROC_LOCK(p1); + thread_single_end(p1, SINGLE_BOUNDARY); + PROC_UNLOCK(p1); + } + if (error != 0) + pause("fork", hz / 2); return (error); } From nobody Mon Aug 7 00:59:53 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJyf14ntKz4pk61; Mon, 7 Aug 2023 00:59:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJyf13ypsz3WZd; Mon, 7 Aug 2023 00:59:53 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691369993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nidSNCKXZs5okZ5gvYGqPr+uEQIViEfcoNlsdUhOmdE=; b=SU1VIV9wO/asNTqCc9sfvriwrGd0+e2SNvAKXd4HhJJRggVogIx8ejiLyjh7sp2RmP0F81 6pijfg8+uYhxwAgqAxnwlIaSeTRZyrhvDy98TF+v5nH3oGXDbtvwV8si8vHNEW3yKeIium dylF6QT5DcQ8gqMyA0KO4RPyPlqs1h/7k29RHzLRKDBfQqN0V6/Y1LrrdoP1VoqKPW5tsx yOL2iWVaouNLzHvb1zeZBtG/P5T9HJAQUlbEtoN48qOWULF0gMo1OV7JoWvo6DtdWuZ6xU CtCwbK2nrsBfxzl8PF71IBs4qcVhbodGgKWak7QzlGwIfrgKzQK1kXd5e16wXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691369993; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nidSNCKXZs5okZ5gvYGqPr+uEQIViEfcoNlsdUhOmdE=; b=IUrjrLb0V/DSyVoOUVImD6e02Y4AVp8eVu/R4eOqFtmAyyJHKIDwKVgXda4Vm8hf/I2X7G ys0+/G7vPQYehVL2pB0exKzP5wwJgG8JVw1H95r+ybPjoIhJAlPmRsvKelvVPRGG7xnVb/ DJzNFhp7q4MOYNdZmlbk0M5KMbP8OUch0I9P/6CAnsYSePNTDmbieNKi5hSwXEr0ZdYIuG UgxR6DOQOHSSAqeYZsfOEOJ2aatOiPUFwM1Fo0jU70NdQZuCfhwSdNvAxdIuuq3FXbSAAB tzDrkF9whjp3FkrgOGSxOhjPwDnYqtcwXDgxvhocJdfVqI8eWlKncc57JYtvTw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691369993; a=rsa-sha256; cv=none; b=EvwT1rCPI9dteWF6iYKr5K70T2oE5zBVsPld5LvBhkVSuhwt8OZMb2qlfeSSK3m/T5VQ02 QL5WU+DFUbSFJ4lE9zRQPBUSLC+8GG+1dGnekeYdgIeWXWvm3BF5PFAOg9+Fy0Pzvq5ZOP MEkXBCX7ftmMwrGYHwyLyj3Rk9j6iCzPUQ2st9GFUY/6FcPZC37F096m1W7hHaUu9Ig/AT ZXKMlUIapXBqopXnh6DayYcGgAt7683Xs/cF03yIX9PPCDfDoIA6GVD7vW/50/rl3udiat O1AloqmEnl834pkHTAc2cXO0EN7cCT28VlOB6zckvdWJGXpukxNnsrXLFeZO1Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJyf12ZCZzXqb; Mon, 7 Aug 2023 00:59:53 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3770xrf2077246; Mon, 7 Aug 2023 00:59:53 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3770xrmq077245; Mon, 7 Aug 2023 00:59:53 GMT (envelope-from git) Date: Mon, 7 Aug 2023 00:59:53 GMT Message-Id: <202308070059.3770xrmq077245@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: c25f1912ea6a - stable/13 - fork1(): properly track the state of the pg_killsx lock List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c25f1912ea6a9ca510625eac2111d3b2ae67b40d Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=c25f1912ea6a9ca510625eac2111d3b2ae67b40d commit c25f1912ea6a9ca510625eac2111d3b2ae67b40d Author: Konstantin Belousov AuthorDate: 2023-07-26 23:24:30 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-07 00:48:45 +0000 fork1(): properly track the state of the pg_killsx lock (cherry picked from commit 474708c334a7d4fb27049e7dabaf5b74542568dd) --- sys/kern/kern_fork.c | 1 + 1 file changed, 1 insertion(+) diff --git a/sys/kern/kern_fork.c b/sys/kern/kern_fork.c index 3b612e7b8990..cc8e730b10fd 100644 --- a/sys/kern/kern_fork.c +++ b/sys/kern/kern_fork.c @@ -984,6 +984,7 @@ fork1(struct thread *td, struct fork_req *fr) * lock. */ sx_sunlock(&pg->pg_killsx); + killsx_locked = false; error = ERESTART; goto fail2; } else { From nobody Mon Aug 7 00:59:54 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RJyf25W34z4pk0G; Mon, 7 Aug 2023 00:59:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RJyf24PdVz3Wgw; Mon, 7 Aug 2023 00:59:54 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691369994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5GSngTGBZ+EMeibS5270R5UXvI9bDIw6fP9Y9/s7VTI=; b=DXzYbWnpf91U5q/b4a8pNR6+GoCpnXiu+Y6k+h6hDaoApeCWLvWSJ2UJ2yCz95jvLdug5y SiRRzgnXC017bYcJON7DB9BY3cb97hIiBNCJ/2fo4+ZhGrLOlwjPpx/HHJsmMEia2nkQkC mhzESC2A+5zW6cuLpCg9J5N5+CjbQn8UAW04mWr0kl+RpvD7neWNtKgmnNnB+4tgUJ6XgC wvRzE6gGJKNdw+o4BvXJlIlHuvDHB8zkMRkzTYhkYlS7q0vMVzM2P3jfcnZubtbEk2DWTL hN4rpbPbNnrY7yO0TMh0k23CNdfDnap39OD5HTLQC5yJuRHV2j8O9HiaUGKJqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691369994; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=5GSngTGBZ+EMeibS5270R5UXvI9bDIw6fP9Y9/s7VTI=; b=JJnMUyPk1S94iv9oW7KtxUMNggQajtmUInT9iLmm/daK7CcYwdPBB8UMEGbRPSkfYnCyH3 9ecraLQp8pHpAg4a3nBsqPMZEMwuw/oetU6fTd8pzAcGq0JW1UYoDDLLwJhhmi9dR4PlRT 64wndmuNrrthWlRl0HkrGjkSXK9OfPpfrnwBAlzdh+ELhFkuJO2tKPxSTlce2aKBgN2IxJ F4OtG0wO0jGwAIFR5J/qjuhKd8WqRPtZkQF0D1f/tsXTUYQOIQANc1qxfEBt6PBC0BRLqS hAMLNaFnQafoeuf2D/cRhYLv49U28dlWdXVaDbx4FKLl4GqTY1Z7Dj0+Q5ik7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691369994; a=rsa-sha256; cv=none; b=aqY7EvN7hW6Z4uoLuWY6vwvLqmTOEECB/709v2Ddmf4CloAqHa0rK8Fr1Ho2+hPI2jgWmv xIULBn1j+fAcYq3Xq1Fvuoxekq+tY7JpmpQBJTYdFCyMK8cT0KwfNbCcAvTvc/3AWD6z5Y p5KOnQmyI4aFlQ7oGtPccUCl1fzCKcj3TQ8uDNWSEflcOLFDnnAcBjOdWt3taSmx+/oVbq oskGQo/R2BuKN30K2mifmTsSXEikqhopGBIA57Ox+awLn2mfWJ2ESv8r2tXmsEhuCVVYxX OABWf6gC5luZcepBonKA4F3PxShrJhyIi9DzThS+qgbEL9x527IlsWT2VW2EIA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RJyf23VLVzXMV; Mon, 7 Aug 2023 00:59:54 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 3770xs45077268; Mon, 7 Aug 2023 00:59:54 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 3770xsjL077267; Mon, 7 Aug 2023 00:59:54 GMT (envelope-from git) Date: Mon, 7 Aug 2023 00:59:54 GMT Message-Id: <202308070059.3770xsjL077267@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 746c8f0cd706 - stable/13 - cd9660: do not leak buffers in cd9660_rrip_loop() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 746c8f0cd7061bcda4bb68cb612827288459bee6 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=746c8f0cd7061bcda4bb68cb612827288459bee6 commit 746c8f0cd7061bcda4bb68cb612827288459bee6 Author: Konstantin Belousov AuthorDate: 2023-07-31 22:55:13 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-07 00:48:45 +0000 cd9660: do not leak buffers in cd9660_rrip_loop() PR: 272856 (cherry picked from commit fa3cf6cdc68cb6d6f2c440f2653258d68eae1015) --- sys/fs/cd9660/cd9660_rrip.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/fs/cd9660/cd9660_rrip.c b/sys/fs/cd9660/cd9660_rrip.c index 87bc64c9b7d2..5d64e2c17f0a 100644 --- a/sys/fs/cd9660/cd9660_rrip.c +++ b/sys/fs/cd9660/cd9660_rrip.c @@ -549,12 +549,18 @@ cd9660_rrip_loop(isodir,ana,table) } if (ana->fields && ana->iso_ce_len) { - if (ana->iso_ce_blk >= ana->imp->volume_space_size - || ana->iso_ce_off + ana->iso_ce_len > ana->imp->logical_block_size - || bread(ana->imp->im_devvp, - ana->iso_ce_blk << - (ana->imp->im_bshift - DEV_BSHIFT), - ana->imp->logical_block_size, NOCRED, &bp)) + if (ana->iso_ce_blk >= ana->imp->volume_space_size || + ana->iso_ce_off + ana->iso_ce_len > + ana->imp->logical_block_size) + break; + if (bp != NULL) { + brelse(bp); + bp = NULL; + } + if (bread(ana->imp->im_devvp, + ana->iso_ce_blk << + (ana->imp->im_bshift - DEV_BSHIFT), + ana->imp->logical_block_size, NOCRED, &bp) != 0) /* what to do now? */ break; phead = (ISO_SUSP_HEADER *)(bp->b_data + ana->iso_ce_off); From nobody Mon Aug 7 14:07:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJ6X4x5cz4pgV2; Mon, 7 Aug 2023 14:07:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJ6X1r7Rz4H1f; Mon, 7 Aug 2023 14:07:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691417236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cp6opIjVn6IxNCR7bpKgAbadfsdk8fWF9Yw+yjllGBY=; b=PKv8mKen7Qy+ttwR562VyK3RNY9/P7zd+4t/X6N3XFQ3dp4v6mYPqNP8F9r/qy438pt3ZX HQmLi8aVNtAz0kBKhrgpQqojuyE4bUbfCdw8GYya5hxP4CDZHsSAzb3+KW3Y4zngTS8JdM VR2dLHgcw1ROgRrtHwa8Bh4y1B4G2YP4+VY14StyAHIiJEuoxgUvfJbIYLr3k9wMJECmPD VYj+RdOkoRTURB7GjCNeYB6f6Q54PPKvyLRa6nqoLW7s5OqRNtOFSHp3j/tuKO4xVMfZ+4 FTLm1+ftKzmqo7gSDjGTjjeAZDXGUUmckxSit275D23zMUHLKTwgrUrt8AUGQQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691417236; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Cp6opIjVn6IxNCR7bpKgAbadfsdk8fWF9Yw+yjllGBY=; b=LVrevgAIEv2x/cg60LRtxnQ6ucLi0cnU0Zzp3lM8C1dHjfBcO4wkHqB/hbqGv4Z3Bkc7hR 1P4gy3hVs3Nt8pOmv1R0tRJrbcFBKakHUy81ALbk/GJiAVSEFn3cyCt44dQO//M246QKgm Gm5A9xXdBT8jf7/5i03+4uPgiCL+1eVO/SGaLqol1hOUeH6NDAOBtpmkYIF5IMVEzqg9bM J8+XCaCodeyI+hUPYdoc2spRPFXO1S2KLasvCeUiQ5fDX/UyiZif/G1YZo4cNwyc5bIy6d erOioMu5DSQfLEYkRhsUB4RsnZuXsshV60WQnxWGM/GfaCXa9Z/mY/ZRcLP/fw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691417236; a=rsa-sha256; cv=none; b=lCs1JatHbZztOJzr/JT1dtDUvPRPWqr6v+LMNLdJ0NALM0FZHzTUFu4blSFTLMCFcJJd1r QpXrxP5L8GXMMAAyvKfad4pCDujfncCllwI1tTgBZt4B7JqLaHYS3IsAktIBgh6oMuQmwo wvh3gHenMI90+YRsXxuuTbBveLzDhoY4lVvxE/uD0E/DFL1aY/8y7GSFTPTtxi1L5nuiDP 7vR6Zz1VuFop5m3TcrE3x595wqaGB40p7Zpo0UazsYHoRPstxcqBCrAZ8KYKVaIedPzCwq 3M3fUgup/TavDsVOMbjlUVUqebztKQ/KlWuE7sUEpD7lMsYMUcRBRgSTPzi+qA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJ6X0vw3zvVM; Mon, 7 Aug 2023 14:07:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377E7GPP093557; Mon, 7 Aug 2023 14:07:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377E7Gj4093556; Mon, 7 Aug 2023 14:07:16 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:07:16 GMT Message-Id: <202308071407.377E7Gj4093556@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: c7508914f41c - stable/13 - pcpu: Remove unused definitions of ALT_STACK_SIZE List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c7508914f41c0121c97ec058ad52c8f938471fc6 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=c7508914f41c0121c97ec058ad52c8f938471fc6 commit c7508914f41c0121c97ec058ad52c8f938471fc6 Author: Mark Johnston AuthorDate: 2023-07-24 15:26:08 +0000 Commit: Mark Johnston CommitDate: 2023-08-07 14:02:18 +0000 pcpu: Remove unused definitions of ALT_STACK_SIZE This was added originally for the sparc64 port and apparently copied to other platforms. No functional change intended. MFC after: 1 week (cherry picked from commit 1083a8cd855b4ec09b62bf9c1df5b06a972a91ea) --- sys/arm/include/pcpu.h | 2 -- sys/arm64/include/pcpu.h | 2 -- sys/riscv/include/pcpu.h | 2 -- 3 files changed, 6 deletions(-) diff --git a/sys/arm/include/pcpu.h b/sys/arm/include/pcpu.h index 651d9d586ef4..48fd6e325295 100644 --- a/sys/arm/include/pcpu.h +++ b/sys/arm/include/pcpu.h @@ -37,8 +37,6 @@ #include #include -#define ALT_STACK_SIZE 128 - struct vmspace; #endif /* _KERNEL */ diff --git a/sys/arm64/include/pcpu.h b/sys/arm64/include/pcpu.h index 8ec4a33b0d67..d6439b180e3c 100644 --- a/sys/arm64/include/pcpu.h +++ b/sys/arm64/include/pcpu.h @@ -33,8 +33,6 @@ #include #include -#define ALT_STACK_SIZE 128 - typedef int (*pcpu_bp_harden)(void); typedef int (*pcpu_ssbd)(int); struct debug_monitor_state; diff --git a/sys/riscv/include/pcpu.h b/sys/riscv/include/pcpu.h index bdb2a4e2c5df..7a186504a7bd 100644 --- a/sys/riscv/include/pcpu.h +++ b/sys/riscv/include/pcpu.h @@ -42,8 +42,6 @@ #include #include -#define ALT_STACK_SIZE 128 - /* Keep in sync with db_show_mdpcpu() */ #define PCPU_MD_FIELDS \ struct pmap *pc_curpmap; /* Currently active pmap */ \ From nobody Mon Aug 7 14:07:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJ6Y56jKz4pgV3; Mon, 7 Aug 2023 14:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJ6Y2Vx3z4HBx; Mon, 7 Aug 2023 14:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691417237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BNA9emn0zPS48bKwkaERbRWtCeYJLaLd/HvezpWgAVE=; b=gN4MWNG4ESpIz60sN/F9IwHE0i6vlj6AZomVSToO9A+8s+VXhcTWyx6k4e3syMXb6FMlFD dgxPSuKei9C8w9I9/DLyTZKS5mJr0uphA7B7mbURRm2d3gWmGO7j0o01El2xFIunAhLqj5 6dHBjKk2a0ngetCbQmJLo8a3pi0q6sGZG4EVvYDhfq2Uvn4TdzbG/JzKogLFIkR6D90qDD SoVEVTsQCWufYhDiI00VeOCO5cVQ+2jild9vIJ0WbEwKVNn7F+5A8E3KeUyNrT4JuBZS0+ F83AgspKz8XPet+sPR+DymI/XZMSN6sUKIDnBBaTzU3D8/C/XMnTVquJqk4Efg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691417237; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=BNA9emn0zPS48bKwkaERbRWtCeYJLaLd/HvezpWgAVE=; b=yjGO0NHtiu4GU1kYaTl8dIUboTcj7PUVuU2up+fxQSc39mQf1qLXiIXoZGnXOBvJ105/aV pL4LU/Flx0YEzA7tW7bdPvnBq9g7AL0UxyA0cAtzKFbGaS65aaEDEsTcHjx+4x7r9azV2U JqnlRPfUTCI+JkWbSe4VoVjSikUESCkESPj2hLRRXfCQVzZLjs1/xyLff0SyMLdlM/ZFAb z5xcls+Y0DPdBXAjJ+CCDQun/SeIQyf1GHvHbgt5n9spnoiLFx6cUbdNBkWj4s2adfpqrm WVnjf1Zy91T7dvA2fNB/bcd3swbPcofaOd6yp1LI9dTUzOK5TlYXAQtyUrCqIw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691417237; a=rsa-sha256; cv=none; b=mvl4WKsbV54dTCH4433WfrE3JZqFO7sn9l5rUnwKZkOYUFXNqiQtkcEtnKMEvLK+ZF4899 ZfFfREd388uZV6PH1FVS2CJambmC80gX/LK31JXpdcEiPRJemXT8Bq5py7wDnWdZP941nI K7gIcZaPeaPq7sV2bW/6bSx1anVN7szSTbga6+jBfH+FJBYqa3sT/3wYVdhcxWnUYR2OMO uS91e+2SYcE0rEMhnH74ptQ76YspEV3zk1LcJFhSpoE4zZEheNiky3UBLZ098h5Gz3h9gr xTKMIIZz/IRvU9/y8QgWueacgACczhgftjmk49f56JXRrhm8cgcE2CsbwYYAlA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJ6Y1ZcgzvMb; Mon, 7 Aug 2023 14:07:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377E7HWi093579; Mon, 7 Aug 2023 14:07:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377E7HjQ093578; Mon, 7 Aug 2023 14:07:17 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:07:17 GMT Message-Id: <202308071407.377E7HjQ093578@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: d67ef8ac7de7 - stable/13 - arm64: Add constants for decoding ISS fields for WF* exceptions List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d67ef8ac7de7370157b1bd09843e7c5fa15ec111 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=d67ef8ac7de7370157b1bd09843e7c5fa15ec111 commit d67ef8ac7de7370157b1bd09843e7c5fa15ec111 Author: Mark Johnston AuthorDate: 2023-07-28 13:32:45 +0000 Commit: Mark Johnston CommitDate: 2023-08-07 14:02:18 +0000 arm64: Add constants for decoding ISS fields for WF* exceptions WFI and WFIT trap to EL2 when executed in a vmm guest. (Currently WFE/WFET are not configured to trap.) We only handle WFI at the moment, so these constants are useful when handling the exception. Reviewed by: andrew MFC after: 1 week Sponsored by: Innovate UK Differential Revision: https://reviews.freebsd.org/D41199 (cherry picked from commit dd24d475d514bba755111c5eecfef1d362b9d68c) --- sys/arm64/include/armreg.h | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/sys/arm64/include/armreg.h b/sys/arm64/include/armreg.h index b24c6ec94c65..7275725a709a 100644 --- a/sys/arm64/include/armreg.h +++ b/sys/arm64/include/armreg.h @@ -319,6 +319,26 @@ #define ISS_INSN_S1PTW (0x01 << 7) #define ISS_INSN_IFSC_MASK (0x1f << 0) +#define ISS_WFx_TI_SHIFT 0 +#define ISS_WFx_TI_MASK (0x03 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFI (0x00 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFE (0x01 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFIT (0x02 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_TI_WFET (0x03 << ISS_WFx_TI_SHIFT) +#define ISS_WFx_RV_SHIFT 2 +#define ISS_WFx_RV_MASK (0x01 << ISS_WFx_RV_SHIFT) +#define ISS_WFx_RV_INVALID (0x00 << ISS_WFx_RV_SHIFT) +#define ISS_WFx_RV_VALID (0x01 << ISS_WFx_RV_SHIFT) +#define ISS_WFx_RN_SHIFT 5 +#define ISS_WFx_RN_MASK (0x1f << ISS_WFx_RN_SHIFT) +#define ISS_WFx_RN(x) (((x) & ISS_WFx_RN_MASK) >> ISS_WFx_RN_SHIFT) +#define ISS_WFx_COND_SHIFT 20 +#define ISS_WFx_COND_MASK (0x0f << ISS_WFx_COND_SHIFT) +#define ISS_WFx_CV_SHIFT 24 +#define ISS_WFx_CV_MASK (0x01 << ISS_WFx_CV_SHIFT) +#define ISS_WFx_CV_INVALID (0x00 << ISS_WFx_CV_SHIFT) +#define ISS_WFx_CV_VALID (0x01 << ISS_WFx_CV_SHIFT) + #define ISS_MSR_DIR_SHIFT 0 #define ISS_MSR_DIR (0x01 << ISS_MSR_DIR_SHIFT) #define ISS_MSR_Rt_SHIFT 5 From nobody Mon Aug 7 14:24:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJV20P5jz4phfL; Mon, 7 Aug 2023 14:24:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJV17251z4KfS; Mon, 7 Aug 2023 14:24:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9Z+126uuvlGPG4Pndenb9/v4XN9SXR0K0IcySEBqcE=; b=n/q74DhmLz+bAhh3OAuMDnP2QaQRxaW2tPtWCJix4NcTCnBwm6CqLqPTH2nIHTyGOdwuwN nZieln1b0QUcb6oRXCqIE8aB6b4d8giZet279I1Mv+Oo4+DbD6pxoLMg+iWk8CAEXE6GCq X79gb9Cd2KB1B1SFT+j5uCwOwy+aQK0ZrXO2nqmF8qHmdygF18qfLfUqdPc0oxPQtUm+0m II/5/W+3TrhLMyzYweCjU3KsXAmpVBauDaCtJgJKQEuNUMb8v1CvyYtekLHtaCd2hU4iUU SNsqpLa6JKiROtZ/BUTrwUK1W2KsHxpHQEnrA4M73trGDs9yjaD+J0swpHv1oA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418250; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=f9Z+126uuvlGPG4Pndenb9/v4XN9SXR0K0IcySEBqcE=; b=dyNM4ltxA/VCMagfOEsROYWK9Evc7l7dXk/G8V+3Z4/mPAxc5BIO4NPHzPT+paIwwEofV+ 9yPKsDg/MFM2TgDlyDEWIluizVKvjKiWlWYyYetaCDN8OyZTEyAKB0t8BltiKcFrgrRlxW 4W5v5nf6dqOR+ZRfQWZ2ifxKRrk8S6TTr+TFXYdX11f3CKGbzotAlbEGBRRreQHhwVwjWa GZWlYmRxhdPH6wL+QNkb60Tl2rIc5GQqZoYJYPuc7utWhpg06piB5s9MYecJ0eeyqsbKiT Cy+/ElpV1THCoAYL2AZvRTPXoXUSTimeu3p4WfoF6to/rngGh73iLzAaQx6jBA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418250; a=rsa-sha256; cv=none; b=L7Q8GiSqhI/SElJZVsFujfetVwC/9EBtLZX70InvPZLUOZviEagdNVSZQzcDexliMBOSj8 mj7DEDpQYo3BZyts+aCciSa1jiGzAF5hIyco53bjWQiBBAnlMQtEcKJ8Ue1wdvh+NWxgoX 3/1z5cCQCakEzRpKSN4RuIfqKt2Oy580Nd3TQkt2p3bey3T8al9qNDmTcmf7nM1/y+PAtC VjRcobd+Pbsh1z4SjHSUCyHtCF9hx85c27JW6cNCl2bMQympr0Ird9Or6ddLv2Dc+lbBsY Sx10FPk2vqmmZe6RO03C51ecvTOfrBdmQC2czB9kDWHiacstrdUmQTIHXJl+cQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJV165rPzvGT; Mon, 7 Aug 2023 14:24:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EO9jd025718; Mon, 7 Aug 2023 14:24:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EO9BU025717; Mon, 7 Aug 2023 14:24:09 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:09 GMT Message-Id: <202308071424.377EO9BU025717@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: fbae16ed99ad - stable/13 - man: Link _Fork(2) man page List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fbae16ed99ad092e4550b678d2eaf82269bc0a11 Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=fbae16ed99ad092e4550b678d2eaf82269bc0a11 commit fbae16ed99ad092e4550b678d2eaf82269bc0a11 Author: Dmitry Chagin AuthorDate: 2023-07-28 08:54:20 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:19:54 +0000 man: Link _Fork(2) man page Reviewed by: kib Differential Revision: https://reviews.freebsd.org/D41221 MFC after: 1 week (cherry picked from commit 03eab865aabab1e6737ad0fd1537f7d0a8c3ee02) --- lib/libc/sys/Makefile.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/libc/sys/Makefile.inc b/lib/libc/sys/Makefile.inc index 23ab196c5f46..42428d16b4a8 100644 --- a/lib/libc/sys/Makefile.inc +++ b/lib/libc/sys/Makefile.inc @@ -407,6 +407,7 @@ MLINKS+=ffclock.2 ffclock_getcounter.2 \ ffclock.2 ffclock_setestimate.2 MLINKS+=fhlink.2 fhlinkat.2 MLINKS+=fhopen.2 fhstat.2 fhopen.2 fhstatfs.2 +MLINKS+=fork.2 _Fork.2 MLINKS+=fsync.2 fdatasync.2 MLINKS+=getdirentries.2 getdents.2 MLINKS+=getfh.2 lgetfh.2 \ From nobody Mon Aug 7 14:24:10 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJV30x2Yz4pj1j; Mon, 7 Aug 2023 14:24:11 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJV30MXwz4Kt8; Mon, 7 Aug 2023 14:24:11 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kZoBhAgOwofnmVx5YQbMrv/r49F689X1U7nJzh2D50E=; b=xWyOKXq28jtTZP/XURl/xCOjOGARn5bnMMqrOpzqk6NBUJir5JJy8uE6n+LucZjBTPeVsK 9Mb3hosGowT18MnlBUMQHV/kDWtNhyOztXcSmjlD8Xwe6z3lI4K+XBRYFwMISYYmcIKaM7 77DY2eCNFrut+1Ofu0Ym8bhTci1L2PNz5E+0Oxbo+7riho2qpLaqBraBLmSoCLwEZGpL0Y iFYGVNp4VkfbIlT97gQY8aAdgzA3HmsrYfsf+fOdSENo3isg3RAQwiHT23+HoAAbtMN05u SABX/xyD1rD1WgYIEENLOn9ImSfrXR9zfH2tEBwJpmDIFVFd3+NRTJKOzgZIJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418251; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=kZoBhAgOwofnmVx5YQbMrv/r49F689X1U7nJzh2D50E=; b=sxCKcQx87fKGlMF7Hij9kqF47H7AI3OdLKSFX3+/J4JVbaVVstTDdgoU+bXQhQxAUy8qjY hNkBOHieRK8wKR9Wj7irENNvpTuJap/EVRSqNhgesWwyUuxNmPf2FlhpWoVZsEZ/T7LyQl ou9+R1v/zGoOK/fZtFlbZsm40KgadyEMi1hLKwvd0kJsOnJMrE/ndxPIlNP+mqvwDXcxtf rkbtAdxz4qnSuzdtQD7Lqz/Kgd3dS7LoM39jX+57J3o9r1UcOa7eDRhPol67ycvh8Kbx6f u/CVfSUaGqYC4EwtlwGCCsNesrz61ijtqMEWlo5KFC3YbUmc8c35RWEg5q2brw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418251; a=rsa-sha256; cv=none; b=kx6oOAvgZl76Y5bhxCxF2x8a0VnFxCt92GRWO5rn3rfnvp1eZBHpAK6gHLlQzxMj9saLY4 HT5IUWJRJn2wnoK7lLshFQGTxrpSgPbff3olcsYSEtPEA6NVG7nrevZf37RWp9g7O4prNc oOOztkhzihWOllx9EUoFN3UBfSttwVjnXBKrVQSSZiCpgyQpl/2/WXqT7RtqiPJhntPwcT rxMeGZmtkU5qqJZHfA+urJyIlbk4BpZT7NCCe13tTCB4ORFvVXgsP0RtKHWkvAFSYT6EPD BtrEPEJNRZuSwJtlZMd7oB6os7TfbUS72qfhsIGnPDME/pAKLpo4rCuPO2/0eQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJV26b77zwFc; Mon, 7 Aug 2023 14:24:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EOAYW025744; Mon, 7 Aug 2023 14:24:10 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EOAwD025743; Mon, 7 Aug 2023 14:24:10 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:10 GMT Message-Id: <202308071424.377EOAwD025743@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 73ac090e9244 - stable/13 - signal: Get rid of gsignal() as it not used anywhere List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 73ac090e924411f59e2146280fda68d0eff2862e Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=73ac090e924411f59e2146280fda68d0eff2862e commit 73ac090e924411f59e2146280fda68d0eff2862e Author: Dmitry Chagin AuthorDate: 2023-07-13 07:41:51 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:19:55 +0000 signal: Get rid of gsignal() as it not used anywhere Reviewed by: imp, kib Differential Revision: https://reviews.freebsd.org/D41007 MFC after: 1 week (cherry picked from commit 17cb2ac3dfcab3f47727c3c1725c61f6b98f690b) --- sys/kern/kern_sig.c | 19 ------------------- sys/sys/signalvar.h | 1 - 2 files changed, 20 deletions(-) diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index e002d7d0e5fa..8cce356d3bf0 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -1965,25 +1965,6 @@ kern_sigqueue(struct thread *td, pid_t pid, int signum, union sigval *value) return (error); } -/* - * Send a signal to a process group. - */ -void -gsignal(int pgid, int sig, ksiginfo_t *ksi) -{ - struct pgrp *pgrp; - - if (pgid != 0) { - sx_slock(&proctree_lock); - pgrp = pgfind(pgid); - sx_sunlock(&proctree_lock); - if (pgrp != NULL) { - pgsignal(pgrp, sig, 0, ksi); - PGRP_UNLOCK(pgrp); - } - } -} - /* * Send a signal to a process group. If checktty is 1, * limit to members which have a controlling terminal. diff --git a/sys/sys/signalvar.h b/sys/sys/signalvar.h index 70f4f1bdaa50..55e38fbc0c17 100644 --- a/sys/sys/signalvar.h +++ b/sys/sys/signalvar.h @@ -383,7 +383,6 @@ sigallowstop(int prev) int cursig(struct thread *td); void execsigs(struct proc *p); -void gsignal(int pgid, int sig, ksiginfo_t *ksi); void killproc(struct proc *p, const char *why); ksiginfo_t *ksiginfo_alloc(int mwait); void ksiginfo_free(ksiginfo_t *ksi); From nobody Mon Aug 7 14:24:11 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJV41rMbz4phbj; Mon, 7 Aug 2023 14:24:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJV41926z4L2G; Mon, 7 Aug 2023 14:24:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t43WjRkUWVHVRt3TAfYjb48qDlPGrjDoIjwyboylLJE=; b=S0KqdWnzfOqq9w7Ow/o1Z/DrMs5RBlq7bwEuXAKniRl1f84dRBTQQnN+M3uuE+iAbHztki bHa1+VZznmZKPwL8joCy5tbh0UgxRp1qLPeCn0UMpEVeKp01UTf3MHnjS6dD/QozvVUj2u /WLAEb5f/bp+dq0+qrHjs/LPGufCD9xA6zBM4oKobAysDrvY+R+uFYP2cJsKTV3mB6UXqv 7wbXuTRfqYvj1c/TnWpGVlILkzMOdupnBWqpQwkdWynNso33F1JI02b1FEMKNCNmwrG1kv eoFdEqIONR5vAXIaLvZwEZEUaqEUNq7uDTwMbnKz2GMTu21ApJAldi0HjPqqEA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418252; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=t43WjRkUWVHVRt3TAfYjb48qDlPGrjDoIjwyboylLJE=; b=WOhJJRxgcuu8ZmQGNz70UbAA07MzeGuW43IWb+Mk6cKZKobluUyrTUoGQCBBEW/Kg0aroB UdULp/aD5TsyRpXVCWow5WmkGh5c2IAB3HYAinwkqFjAa1IsAz10trikPHqBzvmnEZdsBS pQRvupALA9Y5/LebyLknLub3iX8qsBAt2gv/EaKfXZgxDSBWN1sVXIB8pSCBxn8rvmzG9c tx4qTvCaDkygsRPdpH391huh6wFsl/05G0OEnYnGVDpjOZNaOIojDlNWmm9KrL88V0JzIb M1bpY8o2CMXMrSq4wrrGEEf1AD/PKt0tLJ/g/yLfLH72WpHUhLA/LqyjCz6P4g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418252; a=rsa-sha256; cv=none; b=QZQaYK2mDzdM1QfAU7Sl7DPwoz1dJmj6/CSvZnM4zDK6KSgcgOfeZALIn9ic4GbFhBPfex SGJpYiZX4pHYegW21mURBAmBLgoQWdntjpo4ou4GLlsC8xKXCv3J5/7pve26X++Hs348Fa 6lwKtVWa8xUqEuNjDJNHZ3lIIKokn8PKjVIE1dR3zEaVwx9eqWJAqQpJCU1r4KQNhTrDn8 A7q+Qz4CTH6AtNjWoZ7VVDPdegsFGVv9ZPwKdTDNSTnXsEH0nh/r0fhb715slmr1Xt5f0D 6lsq/RlweFTMRhGMTjok4cr7KhoJWfLwuPfGyRAUdVGUC6dtv9nRBb4ju5mfLQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJV40FRQzvyv; Mon, 7 Aug 2023 14:24:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EOBg1025763; Mon, 7 Aug 2023 14:24:11 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EOBhZ025762; Mon, 7 Aug 2023 14:24:11 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:11 GMT Message-Id: <202308071424.377EOBhZ025762@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 24d41b6c95f9 - stable/13 - signal: Remove gsignal references from manuals List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 24d41b6c95f90dffe55b65875e840452c8655caf Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=24d41b6c95f90dffe55b65875e840452c8655caf commit 24d41b6c95f90dffe55b65875e840452c8655caf Author: Dmitry Chagin AuthorDate: 2023-07-13 21:15:47 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:22:55 +0000 signal: Remove gsignal references from manuals Reported by: Mina Galić, mhorne Reviewed by: Mina Galić, mhorne Differential Revision: https://reviews.freebsd.org/D41020 MFC after: 1 week (cherry picked from commit c3f58005d92e5ac189e7dcb2d6d868ed5a0f27fa) --- ObsoleteFiles.inc | 3 +++ share/man/man9/Makefile | 3 +-- share/man/man9/psignal.9 | 23 +---------------------- share/man/man9/signal.9 | 3 +-- 4 files changed, 6 insertions(+), 26 deletions(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index 4c0fca28c4bf..aa51b59e6a54 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -62,6 +62,9 @@ OLD_FILES+=usr/share/man/man4/meteor.4.gz # 20230806: remove bt(4) man page OLD_FILES+=usr/share/man/man4/bt.4.gz +# 20230714: gsignal +OLD_FILES+=/usr/share/man/man9/gsignal.9.gz + # 20230622: new clang import which bumps version from 15.0.7 to 16.0.1 OLD_FILES+=usr/lib/clang/15.0.7/include/__clang_cuda_builtin_vars.h OLD_FILES+=usr/lib/clang/15.0.7/include/__clang_cuda_cmath.h diff --git a/share/man/man9/Makefile b/share/man/man9/Makefile index f9ace3802494..414a00fbf1f3 100644 --- a/share/man/man9/Makefile +++ b/share/man/man9/Makefile @@ -1825,8 +1825,7 @@ MLINKS+=prng.9 prng32.9 \ prng.9 prng64_bounded.9 MLINKS+=proc_rwmem.9 proc_readmem.9 \ proc_rwmem.9 proc_writemem.9 -MLINKS+=psignal.9 gsignal.9 \ - psignal.9 pgsignal.9 \ +MLINKS+=psignal.9 pgsignal.9 \ psignal.9 tdsignal.9 MLINKS+=pwmbus.9 pwm.9 MLINKS+=random.9 arc4rand.9 \ diff --git a/share/man/man9/psignal.9 b/share/man/man9/psignal.9 index aa170322e7cf..936f47f930e7 100644 --- a/share/man/man9/psignal.9 +++ b/share/man/man9/psignal.9 @@ -28,14 +28,13 @@ .\" $NetBSD: psignal.9,v 1.1 1996/06/22 22:57:35 pk Exp $ .\" $FreeBSD$ .\" -.Dd October 8, 2011 +.Dd July 14, 2023 .Dt PSIGNAL 9 .Os .Sh NAME .Nm psignal , .Nm kern_psignal , .Nm pgsignal , -.Nm gsignal , .Nm tdsignal .Nd post signal to a thread, process, or process group .Sh SYNOPSIS @@ -46,8 +45,6 @@ .Ft void .Fn pgsignal "struct pgrp *pgrp" "int signum" "int checkctty" .Ft void -.Fn gsignal "int pgid" "int signum" -.Ft void .Fn tdsignal "struct thread *td" "int signum" .Sh DESCRIPTION These functions post a signal to a thread or one or more processes. @@ -129,24 +126,6 @@ is no action is taken. .Pp The -.Fn gsignal -function posts signal number -.Fa signum -to each member of the process group identified by the group id -.Fa pgid . -.Fn gsignal -first finds the group structure associated with -.Fa pgid , -then invokes -.Fn pgsignal -with the argument -.Fa checkctty -set to zero. -If -.Fa pgid -is zero no action is taken. -.Pp -The .Fn tdsignal function posts signal number .Fa signum diff --git a/share/man/man9/signal.9 b/share/man/man9/signal.9 index a2e54fef012d..d6906f359c18 100644 --- a/share/man/man9/signal.9 +++ b/share/man/man9/signal.9 @@ -26,7 +26,7 @@ .\" .\" $FreeBSD$ .\" -.Dd June 8, 2013 +.Dd July 14, 2023 .Dt SIGNAL 9 .Os .Sh NAME @@ -430,7 +430,6 @@ function returns either a valid signal number or zero. .Fn issignal returns either a valid signal number or zero. .Sh SEE ALSO -.Xr gsignal 9 , .Xr pgsignal 9 , .Xr psignal 9 .Sh AUTHORS From nobody Mon Aug 7 14:24:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJV535Wmz4pj45; Mon, 7 Aug 2023 14:24:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJV52NqFz4L50; Mon, 7 Aug 2023 14:24:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ri08VKKRYUokIEBw+ZUy6zIgOnUlzCj/loFgO4668nw=; b=AqPP2E6uPSgf3bLaNQJn8XIKZ4VNgLbbi+n+CIBHrkuRoqPL4DW4tuSM/CYuEOse3lQOlr s3DUrJ6urp+0JycMWMT4mH9oGuTOSnxK3+NkN2sKWZKJipDKOiiZvGs3DXrfOGhyFO46D+ kZfihTGPqDNNDJcqWcSIPKMMOf+weLBpt0iXkZ964l5QFsG4+2VJD8ANJSrzHt8eq9Z513 8KA5Yi178w6W2WIRJ6n8w1uG2WvMrzNV4T0sDsE9A4aiVKp12Pf81nEmj5pRfp1j95DBjD XFNnEiBWGF4aTGddxCagx/8DTQcZn0EYLZ6Z38a6CIeXazZ6iWaP5BuAk8lk7w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418253; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Ri08VKKRYUokIEBw+ZUy6zIgOnUlzCj/loFgO4668nw=; b=DDqIwULh3FlEE5AZApe0l15w+n/agEJ8kDfQR+ct+IerIBIq9jM2VdLVNlxqshCn6cVawI SvPHTRGs4toj6OtkYvbYJiz8pd0qDPIZrRXrKMnB+DAVQSBEZZ9GmuWPKjNQ/yQMAJ0/DO Thn9OZDHztL2dQRAElxTojV0cqPxjm7X4GoaD/pXBH6NqDZ1mcZxvlZjoerAytsFs+JnW0 YY3FNVK8uE3BeCbtMAASvuSsoQ7LE7b0DRnRk4RKsSIL0ap9lcSc4ojGMMEf8GdKK9jmZp rXonJVKUb778Bvr2YEYEYaOUGXJF1JDqDeIu3RUWPnBAiXmFzy0qt7G1JOo25A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418253; a=rsa-sha256; cv=none; b=IJb76Xn1jIYuII3CPBmkCtNb72VkQOrw63qLLKy0+ylAd+ALvnlM1arGKDIlYBUacbtx6z b7KmH1+6cvWCqbDzxZADLClMA7qZr4ATX+aZSlvbHgfVNaV3lT2UAEDaHYoMxwzp2Le6ea TOvLKVUB4Brosufx+is5WjucfJhduvgBTr1ZQ3C0O+xWG1P+hr31af57qI/g6yBMDe9Lu+ SVpZ2pjnu18l9EN7BV0POFynghnmrctVMQnaz7h08u16RNyXdcCX51Prmmj3i5lqLYrCxg RxXWdIYCdLDr2HSoXqnrzCQQGyvcHt/bf2FB7t/kptHSVFqLsih8zUnTwGp1Fw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJV51Tf0zvnR; Mon, 7 Aug 2023 14:24:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EODMU025784; Mon, 7 Aug 2023 14:24:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EODSE025783; Mon, 7 Aug 2023 14:24:13 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:13 GMT Message-Id: <202308071424.377EODSE025783@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 70d248d25af7 - stable/13 - ObsoleteFiles.inc: Remove leading slash from 20230714 entry List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 70d248d25af753f3fd777c4bd427d1cfd8e0b110 Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=70d248d25af753f3fd777c4bd427d1cfd8e0b110 commit 70d248d25af753f3fd777c4bd427d1cfd8e0b110 Author: Marius Strobl AuthorDate: 2023-07-19 16:56:35 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:22:58 +0000 ObsoleteFiles.inc: Remove leading slash from 20230714 entry Fixes: c3f58005d92e signal: Remove gsignal references from manuals (cherry picked from commit 37eec7f68a79d100d8f5d439138acc21cd8b4efa) --- ObsoleteFiles.inc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ObsoleteFiles.inc b/ObsoleteFiles.inc index aa51b59e6a54..58c63d3003af 100644 --- a/ObsoleteFiles.inc +++ b/ObsoleteFiles.inc @@ -63,7 +63,7 @@ OLD_FILES+=usr/share/man/man4/meteor.4.gz OLD_FILES+=usr/share/man/man4/bt.4.gz # 20230714: gsignal -OLD_FILES+=/usr/share/man/man9/gsignal.9.gz +OLD_FILES+=usr/share/man/man9/gsignal.9.gz # 20230622: new clang import which bumps version from 15.0.7 to 16.0.1 OLD_FILES+=usr/lib/clang/15.0.7/include/__clang_cuda_builtin_vars.h From nobody Mon Aug 7 14:24:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJV65WfYz4pj1w; Mon, 7 Aug 2023 14:24:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJV63Hr9z4Kw5; Mon, 7 Aug 2023 14:24:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AXCS6ORZGvLvla/VsM4Tz8jN3DP3evX3zrXE0bN0V9E=; b=CWkP1Yc9YtGwLWcgblbdSXRTNWaQc6YjcOaCyvl+IwyaLl3XrIA8y1km9dynRC4jDxFcMr L9aBLTShsXSQrDgCo71lSbnHMVegkv9oHRVg3fyKN1hgEkkgyELDuQWMf6YfideKlQR6MJ nqamHis+DWAQX5d5bgqeVU+XGTY1eRlmyzFE/j+ZQAPyFbs2tx66UtwwRIBqt10p+jsCfu q8rUlVJ8Zlbf+MkN1qw9ALeZvLf88oWVyWwVgdn17LN07dr/lHS7yfQXPQS/GIpurYNnUu M8M8OwsSNRT2VBC8X2aAZ/ts6N197M1X38l6klEv2oINbpCGHkqedzvFecqn3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418254; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=AXCS6ORZGvLvla/VsM4Tz8jN3DP3evX3zrXE0bN0V9E=; b=XiDWy1sSwcTMLNatGJruE4zZmYb/HEkjvL3mdDxVFghZZmrheyh4KYChVm86D4PLvBGd+7 MZ1snhYw8etzBQ/7LGWsdLXYKlj/1A7Yt+1YYjv3uwR924ZJHMEru+MgA1fj/lOYxDfF3i PD8offpEjY/QJIFmtyqBIp6yEF0JnhtKTKRZas24B40AJBvoMgfydmKuXPSIAPTb971Bqc HkPENBYYJ/J18kf4x26w4p0iNi7skG1tuHYSCXdHE5CJ/OHfM60tZ4b4ygEmdpwe3ZV0Fg 2Lr9T/dphFuTG4/ofAQeM26IbH2cFbLwQ/MByfJaochUnHq0YHqR2fM00aC2Gg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418254; a=rsa-sha256; cv=none; b=VAKX8lb7kn4AVUvycVrTHZs+sVYhhdkNV4WE9AZMTD/RLjeq6yRRgC1jC1+xDeAsAvbznG iDcrsESQqUqWhF+c0zTFVMShiZ+WIyOXX1H2fsmMOUzyRseo2FK6ugSYxjvkEFpdDh3GfE 4JSNUTzlofyfdxrDKXsysINHpzbGEDfDElUtpPQ7sbOtiV3Mc90DSuGv77yoThfkBvyi4E KdOfIDnL4n0VhQuo2XmTwG9N5i86M5fBXXwoBdprKFRyED2k0lSq86IHQGUeRcLuWOFm9U KtOcbv3c3afp4A8GdYBdOpYKl8d7oRQBgtWyt3jdZHJbIOFltD5Ys6faBXZE7g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJV62PLNzvyw; Mon, 7 Aug 2023 14:24:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EOEsr025803; Mon, 7 Aug 2023 14:24:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EOE5q025802; Mon, 7 Aug 2023 14:24:14 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:14 GMT Message-Id: <202308071424.377EOE5q025802@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 4e15e32a60b6 - stable/13 - linux(4): Properly allocate buffer for kern_getdirentries in readdir List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 4e15e32a60b601f6e9b8eae7902ff8e958a62933 Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=4e15e32a60b601f6e9b8eae7902ff8e958a62933 commit 4e15e32a60b601f6e9b8eae7902ff8e958a62933 Author: Dmitry Chagin AuthorDate: 2023-07-18 21:44:15 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:22:58 +0000 linux(4): Properly allocate buffer for kern_getdirentries in readdir Looks like prior to ino64 project the size of the struct linux_dirent was greater (or equal) to the size of the native struct dirent so the native dirent fit into the buffer. After ino64 project the size of the native struct dirent has increased. Spotted by gcc12. MFC after: 2 weeks (cherry picked from commit fc1c787aa0157090e765ebba484e6e290e99f177) --- sys/compat/linux/linux_file.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c index 3dfea8946e33..0def70e70581 100644 --- a/sys/compat/linux/linux_file.c +++ b/sys/compat/linux/linux_file.c @@ -603,7 +603,7 @@ linux_readdir(struct thread *td, struct linux_readdir_args *args) struct l_dirent *linux_dirent; int buflen, error; - buflen = LINUX_RECLEN(LINUX_NAME_MAX); + buflen = sizeof(*bdp); buf = malloc(buflen, M_TEMP, M_WAITOK); error = kern_getdirentries(td, args->fd, buf, buflen, From nobody Mon Aug 7 14:24:15 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJV75ZGdz4phSg; Mon, 7 Aug 2023 14:24:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJV74JHRz4L83; Mon, 7 Aug 2023 14:24:15 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Wdifw/oemLPqCbM3xXkgBnhwQesPjJkEddKlLLR8hc=; b=ANLESaNIaFPfanFdH4GOgExj7bLefPzSO9lj4bAixBoeuyCWpUtTsxSpB/y8FZCkGOCXbf zVyl19laoVmQ4dBQaz1VYUjPlMRQoL6uQZR+SW28HKiisdDaqou+g4WvGEFmACcm7dBD9t r32xa9/ySSuVnJRvN+YrpaWoKeWYfXOEZabul0Bolfvqm86tVo6/LPToWhfYBJT+us+cHY m0HiCm4+5Wfkwa6HfBMq9JjalZPXhCbmTthJeyTfQrl8agjBxtJVKiToHvbAQnmmKBjI1Z 7gUFVDinxvP0kDq/XENVl68Jwr0TKhtZvBPuwqhNq7dCeYoIt2KAYDEP9Wup7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418255; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Wdifw/oemLPqCbM3xXkgBnhwQesPjJkEddKlLLR8hc=; b=Ntdkfi3QJK9lR+rpBgoHEtLYZk3iOqo7GxXmaiZSMVIhQY+cmwEmqT0szTH3bANrpF5mtd WzJKxNYNjkS+qY6An2TUb6pbbZLVaN9lqm8NDuyIvVMy/3bRej4RGyJbB1QMRUsiC9zJfG HbCSDjz1Sxbsta3AF2lYDfsSo0C8A2HW8TO7DZQX/FRO+cPZWSs8LDXkBftkwbA7oQZn6k ZcjkhGxZ6qUoxt6ohgscpapaecCyb/d4KIBnFD3HzbaHvCBd3kNFD39Wj4sWS+rwvGPoHv hI9xxAzUeg2ZVaxFhXmWOwh/WCV+sDhh/sGfIz99tWC0vaKj77TxeuhK/ygbjg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418255; a=rsa-sha256; cv=none; b=bSY94DV2dlJ7876J9TGpX9iTfIiiojPVyNiszkT8PUm6917dsqVQaEzp5NoTuPVY1GgTGi faYFs+T6jq15t8BiReB7ijxdVE/XNC2AMOb5imjaj0tOySnLQGdPALbBijQxrzi2jrevFV 5vQ/QdJA8CAduGQ0SVSITbFLfkjSXSGrKONQJJ4aBmL3eEVM5OZ+Cd8fXEQmddnPB/7T+Q w+WSDVaiIdKEUwPWyNWdGyY7pcZ87f17P945KodPSYJzcFZlvSZIiq1Pa35P+6Ee+X/qWH 3B7WRh3807hbo52O5MlCt6vEZZftYCBz0TskcovcKcYA17U0WXT6tnY1boBPRw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJV736pzzvGV; Mon, 7 Aug 2023 14:24:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EOFrY025824; Mon, 7 Aug 2023 14:24:15 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EOFmW025823; Mon, 7 Aug 2023 14:24:15 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:15 GMT Message-Id: <202308071424.377EOFmW025823@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 1821249a4d70 - stable/13 - linux(4): Delete a useless variable in readdir List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1821249a4d70fd8732f6f0eef42b3cbe0fe03f5f Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=1821249a4d70fd8732f6f0eef42b3cbe0fe03f5f commit 1821249a4d70fd8732f6f0eef42b3cbe0fe03f5f Author: Dmitry Chagin AuthorDate: 2023-07-18 21:44:15 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:22:58 +0000 linux(4): Delete a useless variable in readdir MFC after: 2 weeks (cherry picked from commit fffb2e8de691ba6677616f7e0e5c442f4e7e722a) --- sys/compat/linux/linux_file.c | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c index 0def70e70581..3e1b5299cf0b 100644 --- a/sys/compat/linux/linux_file.c +++ b/sys/compat/linux/linux_file.c @@ -598,9 +598,8 @@ linux_readdir(struct thread *td, struct linux_readdir_args *args) struct dirent *bdp; caddr_t buf; /* BSD-format */ int linuxreclen; /* Linux-format */ - caddr_t lbuf; /* Linux-format */ off_t base; - struct l_dirent *linux_dirent; + struct l_dirent *linux_dirent; /* Linux-format */ int buflen, error; buflen = sizeof(*bdp); @@ -615,12 +614,12 @@ linux_readdir(struct thread *td, struct linux_readdir_args *args) if (td->td_retval[0] == 0) goto out; - lbuf = malloc(LINUX_RECLEN(LINUX_NAME_MAX), M_TEMP, M_WAITOK | M_ZERO); + linux_dirent = malloc(LINUX_RECLEN(LINUX_NAME_MAX), M_TEMP, + M_WAITOK | M_ZERO); bdp = (struct dirent *) buf; linuxreclen = LINUX_RECLEN(bdp->d_namlen); - linux_dirent = (struct l_dirent*)lbuf; linux_dirent->d_ino = bdp->d_fileno; linux_dirent->d_off = bdp->d_off; linux_dirent->d_reclen = bdp->d_namlen; @@ -630,7 +629,7 @@ linux_readdir(struct thread *td, struct linux_readdir_args *args) if (error == 0) td->td_retval[0] = linuxreclen; - free(lbuf, M_TEMP); + free(linux_dirent, M_TEMP); out: free(buf, M_TEMP); return (error); From nobody Mon Aug 7 14:24:16 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJV85Dwlz4pj22; Mon, 7 Aug 2023 14:24:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJV84n5Pz4L1W; Mon, 7 Aug 2023 14:24:16 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SiMK1QK7W6N3aafuDt3F5VodDS8Adf/OPpdgcLPjGec=; b=scTkQ3kXj3UkrPKmf5O23gmaquVaRyB70SPsrp1o8s4S0tEkxvvTZ9yFAv4vqPlXrn6xN5 i03FYMoehGy208YxRCN440id+Pu/MAirbFgWCT7ViCSzPR9btoOIgvMPCa+OfbmUDaimDn Mq1YTizayPxhf6pcfPe/MnRg6OUSmc654iFAG6VjY6KhtLEF2sh7m2o4w/pV7TuOEan3sR 5VYXAEUGtEMHfQEzLmMFwG5g4gF1NtWemUd+thT7p7dk83VqRVqBbb9L8jSoRI2mjqJOJp 9jp/pfKIBcMIRxVSLg5Ir3UFR00wxkK8owRWUA/GRHlEsas54MoGgoMWaSY3+A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418256; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=SiMK1QK7W6N3aafuDt3F5VodDS8Adf/OPpdgcLPjGec=; b=nIVrRyuquVr2D6m/5Z3F2xID5EOMWIGxs0vwa7dzNy5+zuyXiU9NVcOxCsldFbiiR1yyxs YJ5vU7KBW1gTF1/U49wkdFHyAZ/tkwpGPbWB2rzl5PfMsjLBQIwqBoeEjI3b3QvZPCyI4r 7Pq8k9YbfTuojZesf4MJg71+Pv55j1b3OUeLO2wSKwZDJCMMHCBKSEAPWfKo9V1/vfs1b6 9g4XV98CgUNQ4t3Aq/efkUGg2wBWqhyyvPlTXFhJuU4cMbbA/KNks318UxTaPUvBiKhhbs 5fVYBJV+3AODSTvRQxDfeaO6lzR2rXqkEITAp22FTK/JcfdlKDrv1fjGFf5DlA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418256; a=rsa-sha256; cv=none; b=a+81lrlke7o1Ha0l9V09MEC8Q+L8tbT5LbHFf3heqwQAPRReyVALr4/z4kzhDjziPH6k8g 0GuybwUJIKhgIZ5/SsFBsovIZCnE+HEA7miS7uxGNMvFBuvkALZiY6OVAuhxDFIRAHSH1e aCzNz7V+ke/Cf5sby36WW45gk1cXY+SXVCfEf8hfuMoflz0fjuNGeRhtY/MpeUwiLylQ3H 4qIjj/PUcxBSb5IPB3SlB+MnneAsh/ag4SkzL1sTeS97vWo0L2BfroOQV/0LL6MpmRv8U/ JJCkp9TuMwtrh+1tTcnhnZ14KqLQuwd+0ccE9O4V4YYDg7Zzkm8CAXbSNBmH+A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJV83pz3zwFd; Mon, 7 Aug 2023 14:24:16 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EOGLa025849; Mon, 7 Aug 2023 14:24:16 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EOGot025848; Mon, 7 Aug 2023 14:24:16 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:16 GMT Message-Id: <202308071424.377EOGot025848@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 7027716f9d8d - stable/13 - linux(4): Use M_LINUX for malloc type in readdir List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7027716f9d8d2877df78efa033cdb0249db44aba Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=7027716f9d8d2877df78efa033cdb0249db44aba commit 7027716f9d8d2877df78efa033cdb0249db44aba Author: Dmitry Chagin AuthorDate: 2023-07-18 21:44:15 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:22:58 +0000 linux(4): Use M_LINUX for malloc type in readdir MFC after: 2 weeks (cherry picked from commit 13d049ab8dd718d0723229d54062c91b2fc68fda) --- sys/compat/linux/linux_file.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c index 3e1b5299cf0b..249034231c36 100644 --- a/sys/compat/linux/linux_file.c +++ b/sys/compat/linux/linux_file.c @@ -603,7 +603,7 @@ linux_readdir(struct thread *td, struct linux_readdir_args *args) int buflen, error; buflen = sizeof(*bdp); - buf = malloc(buflen, M_TEMP, M_WAITOK); + buf = malloc(buflen, M_LINUX, M_WAITOK); error = kern_getdirentries(td, args->fd, buf, buflen, &base, NULL, UIO_SYSSPACE); @@ -614,7 +614,7 @@ linux_readdir(struct thread *td, struct linux_readdir_args *args) if (td->td_retval[0] == 0) goto out; - linux_dirent = malloc(LINUX_RECLEN(LINUX_NAME_MAX), M_TEMP, + linux_dirent = malloc(LINUX_RECLEN(LINUX_NAME_MAX), M_LINUX, M_WAITOK | M_ZERO); bdp = (struct dirent *) buf; @@ -629,9 +629,9 @@ linux_readdir(struct thread *td, struct linux_readdir_args *args) if (error == 0) td->td_retval[0] = linuxreclen; - free(linux_dirent, M_TEMP); + free(linux_dirent, M_LINUX); out: - free(buf, M_TEMP); + free(buf, M_LINUX); return (error); } #endif /* __i386__ || (__amd64__ && COMPAT_LINUX32) */ From nobody Mon Aug 7 14:24:17 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJV96Yl8z4pj4S; Mon, 7 Aug 2023 14:24:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJV961VMz4LFB; Mon, 7 Aug 2023 14:24:17 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mhVgjrJv9z6V+ABN0UhoWcaH0SqCwqmoTg7GPB7qrXg=; b=UpxpoVpMVLaw5zkdtQIMUAEpz+yY/78RLwX36B5v2obtu8tbTIogEC8VO2PqIWA/eHY8Ij NzzDocg0GGxnlOHjWprbR9ElBviIKuCQE6GO08b5U7oLOcq5jrK1MJw0gZDTbpSDnTuteJ GG5X5QpVxUaloc7axbCx0V/KNjj5wBkLSiE6KW29TAZPD7dHMbC7ufyJIxaH93O1L7ngp1 CCSiKBm1Zq0I+a8g/d+lyXChKcLHd2dJ6YxzaK/0n29O1Nn7B7121eQaOUTXXVJXHY4WPK PoFMRicfgzM6sixfyxSYpDpEjaOl39UHn0E290cUvYcFmz4NwuoeNPObaCaPtw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418257; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=mhVgjrJv9z6V+ABN0UhoWcaH0SqCwqmoTg7GPB7qrXg=; b=wCBnFOjud9p10qqpfn2Ox+BTbKj64KM6mzNsRLUrL9PqpRWHU42XNTqH/Ro5X2TbPsa4VL g/91jajYeB+KyrJDOPbf5W4CPPVtGKwTPXQTS3GjmcCa4eCHP+BDF1B9TsGA9yX6+R0XHd 88GLdvslHws523RnBm0NZRSdUYLdtE64XheR5xAE/AC2o9tyVjgmMURMalNqxQSswwR4NG AghPLjEInE+Yyb0MYzsKoRQfxJlbwAThW695y/mPR3i3i0kkFhI6a1OYtfQjunY0vBoeJg lKFDxXeUb6552icRb5F41L6uv0j+M0ezdFrB6LS+4P2yev/EDhQiMR+ubUeUXg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418257; a=rsa-sha256; cv=none; b=eCUw2xBo8x48YH/pShRLRwCsuNz0GZd+HZUOOmrkhq6TnvbpsCyWwyeSiip2mgDM4fuYET i/xtQGvhsptXx0ZjvsiE1TBCiCls0Fy9TJKm/G8naam1qk32xP5gE7bmQNJcvQrVClqBV3 UFz0Ps4mOMQeWwoR4/QOIYDliiSsBoY7uR6s1CKqmKKbd7INeWcfhE2jxEfwMtopHHXgCp wmsOT3NnWH64BLQbj64RrcaDeddtdjmi0D2lw0LP1rfvPpO25ZPs+Ztkzhw4DbprZSWKV4 eOKxhQhoZ4SzNdYK7Cvh5HpDiiFGPqYAkZO2BmC/1nj3K4a8gHqrCtRBfW2Msg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJV94lR0zwBY; Mon, 7 Aug 2023 14:24:17 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EOHSE025868; Mon, 7 Aug 2023 14:24:17 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EOHGG025867; Mon, 7 Aug 2023 14:24:17 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:17 GMT Message-Id: <202308071424.377EOHGG025867@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: d41dfdb6f413 - stable/13 - linux(4): Delete a useless variable in getdents64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d41dfdb6f413ab3acba2897c7c992fbbd271382e Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=d41dfdb6f413ab3acba2897c7c992fbbd271382e commit d41dfdb6f413ab3acba2897c7c992fbbd271382e Author: Dmitry Chagin AuthorDate: 2023-07-18 21:44:16 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:22:58 +0000 linux(4): Delete a useless variable in getdents64 MFC after: 2 weeks (cherry picked from commit b27f3237c82bde866cb24f7299eaa356e8b29eb2) --- sys/compat/linux/linux_file.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c index 249034231c36..da492ec4c4cb 100644 --- a/sys/compat/linux/linux_file.c +++ b/sys/compat/linux/linux_file.c @@ -526,7 +526,6 @@ linux_getdents64(struct thread *td, struct linux_getdents64_args *args) int len, reclen; /* BSD-format */ caddr_t outp; /* Linux-format */ int resid, linuxreclen; /* Linux-format */ - caddr_t lbuf; /* Linux-format */ off_t base; struct l_dirent64 *linux_dirent64; int buflen, error; @@ -542,7 +541,8 @@ linux_getdents64(struct thread *td, struct linux_getdents64_args *args) goto out1; } - lbuf = malloc(LINUX_RECLEN64(LINUX_NAME_MAX), M_TEMP, M_WAITOK | M_ZERO); + linux_dirent64 = malloc(LINUX_RECLEN64(LINUX_NAME_MAX), M_TEMP, + M_WAITOK | M_ZERO); len = td->td_retval[0]; inp = buf; @@ -563,7 +563,6 @@ linux_getdents64(struct thread *td, struct linux_getdents64_args *args) goto out; } - linux_dirent64 = (struct l_dirent64*)lbuf; linux_dirent64->d_ino = bdp->d_fileno; linux_dirent64->d_off = bdp->d_off; linux_dirent64->d_reclen = linuxreclen; @@ -585,7 +584,7 @@ linux_getdents64(struct thread *td, struct linux_getdents64_args *args) td->td_retval[0] = retval; out: - free(lbuf, M_TEMP); + free(linux_dirent64, M_TEMP); out1: free(buf, M_TEMP); return (error); From nobody Mon Aug 7 14:24:18 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJVC1CrDz4phSr; Mon, 7 Aug 2023 14:24:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJVB6gW0z4LFR; Mon, 7 Aug 2023 14:24:18 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XWl10pX1T45+LsYyB4wCQyhNq7HIbwQ4lXxu8qhLTdo=; b=pxfG68mYh/TtbtxmnGVMEPkzxhpzsT0qSfZGXtp1OKHmfY1E6mLV11HBU/BW1pSI9nXoXa x64jnG9Yw/uDMur2Ma030MztqoUUNdnIY4SlQQv6B8aBgwqEORIEQYDzReplHDsCR596Zd CMr3qmI2pLav1nM/EolKA35CYoYx1A/yXuMFsU/5KhZz0OUhYBldHTlujKBGUg74CbBcha dovDv36roo4LezfvmkXS+bhTIUmC/MDc7khs1HwWs/DQ9eSmkkuqsIpnYdzKbocqeaCGx5 qBxZesSBaWxKuhNKHlDXmX6PmqYt0ibavq6WWYxQtiLaYUpiv6LRiyi6IeElYQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418258; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=XWl10pX1T45+LsYyB4wCQyhNq7HIbwQ4lXxu8qhLTdo=; b=x8T3swSR2HVwlyEipNAMYM5OJnls7s0D7c4e34JoWqqaLZ6tkja7DWTeyOWzPjvil0putu WbAQ7JL8NpleJomAFTCG4GCfOWelctA+A8jJmcZCkGQJnFK5EEt3cgPaqhkbovK/+E4Vf2 ybp4JJyj3S89g0nfAmEdtwrb0WIpd0RDjsxujGTbX8BA9jEr2CxvphtvpNHqXFsC14MLpx vpX9S7SssDstc91/DU9z47xskIYMXF94wmfiEqRKi+xhtCjoN8E5jLUdUVpyVGxzb8Ghjr Lr4iBNK2ExE+TKFqLYTgO7Vp/rHoLULRBteGsJrEbur01gKILx+/vSGwWTOj5g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418258; a=rsa-sha256; cv=none; b=DWo4+4JnomkN4E/yFrSYj5/k7ZrciAn77HoGLydow1APtw9zkdQKOcQIF2vi974y7a5IWL jP0ikjTwpl/MGfR3u4ilcqpFHRyxc4AB81rj93TJ6NICiYkkYfxMSHc1cIvo1rlawNivC2 ivWXumlI4v8m0HMn5OaSJYhSPujJWr8Vh3ZYnhPYent1JMfbp0wNTstPSbwT2/bRuP9/7R BGLaAYZo7pBGCwfc9MqFzdtQToyNiT/Pt8QuX8phqJdvJTxMRXIeMb7z9Uh0qscnOK05ZF fsCygXGettz/0PJafCYEdugdMQrz7+XPdd/G1oaE4ua41sSOMCMYSwwJvE0bNQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJVB5X7szwFf; Mon, 7 Aug 2023 14:24:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EOI3B025891; Mon, 7 Aug 2023 14:24:18 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EOIQe025890; Mon, 7 Aug 2023 14:24:18 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:18 GMT Message-Id: <202308071424.377EOIQe025890@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: b4ebdfe9980f - stable/13 - linux(4): Use M_LINUX for malloc type in getdents64 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b4ebdfe9980f00353ca91bad1acdf7e0bf80f47c Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=b4ebdfe9980f00353ca91bad1acdf7e0bf80f47c commit b4ebdfe9980f00353ca91bad1acdf7e0bf80f47c Author: Dmitry Chagin AuthorDate: 2023-07-18 21:44:16 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:22:59 +0000 linux(4): Use M_LINUX for malloc type in getdents64 MFC after: 2 weeks (cherry picked from commit e27e3fa71c8f31304efa5e065876a34ee603a388) --- sys/compat/linux/linux_file.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c index da492ec4c4cb..573c4c8a2eae 100644 --- a/sys/compat/linux/linux_file.c +++ b/sys/compat/linux/linux_file.c @@ -532,7 +532,7 @@ linux_getdents64(struct thread *td, struct linux_getdents64_args *args) size_t retval; buflen = min(args->count, MAXBSIZE); - buf = malloc(buflen, M_TEMP, M_WAITOK); + buf = malloc(buflen, M_LINUX, M_WAITOK); error = kern_getdirentries(td, args->fd, buf, buflen, &base, NULL, UIO_SYSSPACE); @@ -541,7 +541,7 @@ linux_getdents64(struct thread *td, struct linux_getdents64_args *args) goto out1; } - linux_dirent64 = malloc(LINUX_RECLEN64(LINUX_NAME_MAX), M_TEMP, + linux_dirent64 = malloc(LINUX_RECLEN64(LINUX_NAME_MAX), M_LINUX, M_WAITOK | M_ZERO); len = td->td_retval[0]; @@ -584,9 +584,9 @@ linux_getdents64(struct thread *td, struct linux_getdents64_args *args) td->td_retval[0] = retval; out: - free(linux_dirent64, M_TEMP); + free(linux_dirent64, M_LINUX); out1: - free(buf, M_TEMP); + free(buf, M_LINUX); return (error); } From nobody Mon Aug 7 14:24:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJVD28qBz4phby; Mon, 7 Aug 2023 14:24:20 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJVD02VVz4LTH; Mon, 7 Aug 2023 14:24:20 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uhw5HbH9vfsWBS0rqvY8UmgqGlN3HVX4hYtoliUXHP0=; b=xZ5b1x1994qdVlq6lnPaj6JH+JeMyeXgrNTlm08vayTfTkr5MQIbWjV4xGXXwiPqJ0Q6iB QD5oPnE7TWxDFoJ+XqpQmnhtbv5NoHUa2O1RphcBUj7FRJ5KZtDsRhFPqLgGNaSyrRmFg0 OH87hnQ0tqySLwGP4/TJFe/+XlURFPMstvqM75FurEzaiM8z2NvtRf8lwl+74vXWkLqgEE 4rddvLGZtXQ4SVrbr+85dxW+JhLKhKVAQ1Dk+WJAsLIPRJRUEfE5z/QtS9FHbNNrDCYrt/ nvjOHZueJ05/A25FVMLrn+IuJ7avK/MPcQ/Yg9jg/gwfU/gFqV5n2S/c4Ie3gQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418260; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=uhw5HbH9vfsWBS0rqvY8UmgqGlN3HVX4hYtoliUXHP0=; b=JGdbxNVewAr1ehilN+UNWD1zsZfrX7vo0QEa35duCPaR2rP2tit55rNNVTZ3i/9ielmDi3 pPVyE29PJ8t3V5Rh8zj5t7pwR0zZ9riqOgarkROqQsFnC1CQh3EiQofs00krjNYqCIUApt LY46f5lCLCZA95ytiVuMnXSu1VQc33hr+neXBgaEi3YvIC7kVQmCHB/h6EecjvVnHEX1Ie ZDEciC0T4Yd4xHsNXWjT7AtyXW6ks4fQ9ekz0lUtbWPRnNCaDqqT4ayt/Z2ZBdcbqAYsXM rLE3UjUhRfBqIESstH2jiNKGUvs0p/CQ+9DRB8E12d0c6EowgrCeRL5f+HpX1A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418260; a=rsa-sha256; cv=none; b=OQMBL5I1hqJ/zEip+1kJRXYcJQ5AjLtm5YG3jYLhOVkUNB8vooM3Pq6vPVVnieJdnemSk6 aaLTtGfV+4e4/U/6srgxiik7Z389wld5SJD45RMnOaG0CAP624tCXdwLdmWwpVfPhm2McE v3JRc/7Ibv5yEXBWL9u/FaQxje7NJ+yNBm8fftc2vdhUcOLeOfGxNWmmo1YSgF9IhIQjur LkZE5jSaz4dBgze9BrORLpg7zsqpYKrxXG7rRaOA9OmPL/wzRtPFsMdGu1utIV5X3iA7/x /Vk7KNV4HFjYejdRHAnkOEab7zbJgVOXtUjgQnW/fpPtfFYVLtaQWOTjegfrOA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJVC6G0nzwBZ; Mon, 7 Aug 2023 14:24:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EOJo1025913; Mon, 7 Aug 2023 14:24:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EOJKf025912; Mon, 7 Aug 2023 14:24:19 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:19 GMT Message-Id: <202308071424.377EOJKf025912@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: e644694f5f3b - stable/13 - linux(4): Use M_LINUX for malloc type in getdents List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e644694f5f3b26470e53a7856fd7de057be197cb Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=e644694f5f3b26470e53a7856fd7de057be197cb commit e644694f5f3b26470e53a7856fd7de057be197cb Author: Dmitry Chagin AuthorDate: 2023-07-18 21:44:16 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:22:59 +0000 linux(4): Use M_LINUX for malloc type in getdents MFC after: 2 weeks (cherry picked from commit 7729467781670a84059d50c4726dc94cbf4500e9) --- sys/compat/linux/linux_file.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/sys/compat/linux/linux_file.c b/sys/compat/linux/linux_file.c index 573c4c8a2eae..5f195e46a8a9 100644 --- a/sys/compat/linux/linux_file.c +++ b/sys/compat/linux/linux_file.c @@ -456,7 +456,7 @@ linux_getdents(struct thread *td, struct linux_getdents_args *args) size_t retval; buflen = min(args->count, MAXBSIZE); - buf = malloc(buflen, M_TEMP, M_WAITOK); + buf = malloc(buflen, M_LINUX, M_WAITOK); error = kern_getdirentries(td, args->fd, buf, buflen, &base, NULL, UIO_SYSSPACE); @@ -465,7 +465,7 @@ linux_getdents(struct thread *td, struct linux_getdents_args *args) goto out1; } - lbuf = malloc(LINUX_RECLEN(LINUX_NAME_MAX), M_TEMP, M_WAITOK | M_ZERO); + lbuf = malloc(LINUX_RECLEN(LINUX_NAME_MAX), M_LINUX, M_WAITOK | M_ZERO); len = td->td_retval[0]; inp = buf; @@ -511,9 +511,9 @@ linux_getdents(struct thread *td, struct linux_getdents_args *args) td->td_retval[0] = retval; out: - free(lbuf, M_TEMP); + free(lbuf, M_LINUX); out1: - free(buf, M_TEMP); + free(buf, M_LINUX); return (error); } #endif From nobody Mon Aug 7 14:24:20 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJVF1vxhz4phfg; Mon, 7 Aug 2023 14:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJVF104mz4LJm; Mon, 7 Aug 2023 14:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tUGH38gMdjKmOtb67ezXCIpCAOHk9XOvwiWKbx2E4Yk=; b=eV7QYyXC1paYosTSvnFb9WN9eSvY9a1/Etju9FoyLs8Zz9quUKgJd5IWzdIHVA0YVRcofq BdT+OJYRr1G3Po5wHhLI1RLo8qbtpevWu5alc6KX35DU8bPU4NWImhDD1L1VilpdgN0y0m ++QrYWq94C6KHNAaEnatNFNoV4Mi+0LU0STEpC8SMUAg3BhrFF9tGpW4mZPI7rB68RbnVw qU8Abk3k5t0e3lgbx7JTvdWQXROqBmnz5o1JFZeD98SZrGy8Yje94UXiJIWIs0HAPQM35H NEIYKNssDZEwLv/QhKHjf3xZdyxgNFStDEFqOQJalGJKKaUuYMxooKcPwEFOIA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418261; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=tUGH38gMdjKmOtb67ezXCIpCAOHk9XOvwiWKbx2E4Yk=; b=fysCbsrREuB9WdA5p1etK8OCtWsFUOaTPFF5gaNcRduDRnMm19/r9qdAg+d+VJAyCfANud osGX5O7scyUTT2DIMWXK8BSfyfETnYPYFXq6V2t7J2g9D2z/p6eYw3Uxv2Zt6y4rIyuZ92 0ZrVlMw/aGKrnLP/2bcefMmPkXAsrEOvZyjuaBPdnEQgjh7EaLEF0ye4fdJ9y/pHPfyibc nutln1cymVzK/aFVpq7oITypIMh1afQZIme3qyR8PmvYagSmWt5SaBhf0yDfz+bdi8eUSa IGZuxQWMNrsSus+NGljyXqPgpK+cWx7Sl9Sd8+5s9pFU38/hqw3x8+4M3tMiBQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418261; a=rsa-sha256; cv=none; b=HTc4+VRlU2ZVrZ7vVClXejVKkUNWdPz2XJolgXM9LOqvevjFvKEQRN8l5CDCQXBWZJkH/g xmYUD6SmnzlyMcwA8MyoxKtjz+HeYmYOXTQTL/bx7Ub+DNaBHJuU76iHr6gkmpU213ggDj kIiz1sVqYFs4jML8ZUfaqgeQw4oGFvrZ7bghUCJrNAWB0EaNHDyPuW/t4nHuRvnuzZDl7H KIbDu3SUWXspvFUWNdY48xAzFpPXLLixTq4StehUGa+3TwKsK7i4H/JSj5uvA0xkeZ/Rqr RObat7BNY+A2ADPoD1ofJe/J+fPJ2fgjCxCi1UfNQNvaVQ+9cahSxUGbcgECvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJVF03rNzvnS; Mon, 7 Aug 2023 14:24:21 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EOKRM025932; Mon, 7 Aug 2023 14:24:20 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EOKHM025931; Mon, 7 Aug 2023 14:24:20 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:20 GMT Message-Id: <202308071424.377EOKHM025931@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 76efe26bafe2 - stable/13 - linux(4): Use M_LINUX for malloc type of proc emuldata List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 76efe26bafe2632a84e14451b9d04726edf942fb Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=76efe26bafe2632a84e14451b9d04726edf942fb commit 76efe26bafe2632a84e14451b9d04726edf942fb Author: Dmitry Chagin AuthorDate: 2023-07-18 21:44:17 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:22:59 +0000 linux(4): Use M_LINUX for malloc type of proc emuldata MFC after: 2 weeks (cherry picked from commit b834497c6d0cccaeebad8d94a32c8dd3ec0d3f9b) --- sys/compat/linux/linux_emul.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sys/compat/linux/linux_emul.c b/sys/compat/linux/linux_emul.c index ab877116b9fc..f6c071c9fb4a 100644 --- a/sys/compat/linux/linux_emul.c +++ b/sys/compat/linux/linux_emul.c @@ -147,7 +147,7 @@ linux_proc_init(struct thread *td, struct thread *newtd, bool init_thread) p = newtd->td_proc; /* non-exec call */ - em = malloc(sizeof(*em), M_TEMP, M_WAITOK | M_ZERO); + em = malloc(sizeof(*em), M_LINUX, M_WAITOK | M_ZERO); if (init_thread) { LINUX_CTR1(proc_init, "thread newtd(%d)", newtd->td_tid); @@ -281,7 +281,7 @@ linux_common_execve(struct thread *td, struct image_args *eargs) p->p_emuldata = NULL; PROC_UNLOCK(p); - free(em, M_TEMP); + free(em, M_LINUX); free(pem, M_LINUX); } return (EJUSTRETURN); @@ -353,7 +353,7 @@ linux_thread_dtor(struct thread *td) LINUX_CTR1(thread_dtor, "thread(%d)", em->em_tid); - free(em, M_TEMP); + free(em, M_LINUX); } void From nobody Mon Aug 7 14:24:22 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJVG2nxxz4phww; Mon, 7 Aug 2023 14:24:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJVG1wV9z4LVY; Mon, 7 Aug 2023 14:24:22 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bVNVKfrPxs3sIojZwrUWlIc9xdqKjLWd60iUoHBT20E=; b=f+lHlIXIw8d6MiYrKqdVWmi3C0iYbpLxG7V53w5RhP6y0vh2Pbq130Jf64j5fL6uNevOzW 3XgS9ERrJPK2BnKtSR9rx3/tWUdN3nMtX3AORRwX5Uq8a5Xq/9/CYsQGtb0C0xdP4/1zWh DRMREQ5GyjYWz50+rCvIg0+s5L08VwHoxKpZup/xNU8CvqXGCSCbtUS8Y3U6yZNP8w9MRh Hh84Eo/9xXoovdfy1G5zBMspuZ3rkRL4dgYKirtEg8w1vd/BtxOzurztNadX1OIbGkacTn 20m+cU9GHKPXDWMkBvUzxgh8D0gJC+r1ZVr8q29pW80ese/joFfospkZ2abFBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418262; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bVNVKfrPxs3sIojZwrUWlIc9xdqKjLWd60iUoHBT20E=; b=kuCjAvLOjbX0QiHHaQ+PTkhF2JOpIenxa73gpkZTXCq1sdccInvLtRGcuG/t4WOLcgsg1U gAksXXayL3de+8LTf+ReuXHcXIpUDUD+sstJJCABDSUb8FQJuqpsFu8nWAVwyX1C67fLCA vMIpO2ZWgbaxyXjS/VbyqsR3EAT+VVXUrneFIUXzBHuRmEJJj4Ih1zH7TBTJTR//scmxEY duN75ybuAhNEiCAWhDo4BN1VrZ+AnouyA9dvsP2tUXjWaP1E8JNtNMj98VTSxxRibOAeEZ rPocYcBsbkg0ZGvLRK44+Nfq1lIz7HiFw6W/a8xf9RjorxyODNJLDVq+FWoCDA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418262; a=rsa-sha256; cv=none; b=mBHvjanCEcaKSmsB2GM1QPVeuV9Kpj5j+DArSUQhWVwUDk3HLAOYR2QISbC1GCCvJCxH/y XwTlkAjht7fHzDhEfa8IL4ZBz7zX/XL8W6T8LF45bX1Fiip2hPjvR4O2H6d4kQ5sw7I+14 nKWtQiLNIjmCSk0n8F8sgYGb8VOoBoDuPzvMkPtRpFJvb3E2A+u+C7JlbPPdoQZt5TVBR0 FsVjjvYPfLwHSb8fBgo4L+2TsPm3ALInWxmL16pUAQvVygfjOXeuxqp5YgslVYyJFz9uyz oocV9XmtrR9gIgC0NWs4/ZSvkotm7E4YrNWjCefR7cbX2tvNd+MDAzKDnXlrfg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJVG1101zvxn; Mon, 7 Aug 2023 14:24:22 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EOMpE025958; Mon, 7 Aug 2023 14:24:22 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EOMl2025957; Mon, 7 Aug 2023 14:24:22 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:22 GMT Message-Id: <202308071424.377EOMl2025957@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 520891109c09 - stable/13 - linux(4): Fix control message size calculation List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 520891109c096084774165015529e18de5a93cf1 Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=520891109c096084774165015529e18de5a93cf1 commit 520891109c096084774165015529e18de5a93cf1 Author: Dmitry Chagin AuthorDate: 2023-07-29 08:21:35 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:22:59 +0000 linux(4): Fix control message size calculation To determine the size in bytes needed to hold a control message and its contents of length len, CMSG_SPACE should be used. Reviewed by: Differential Revision: https://reviews.freebsd.org/D41224 MFC after: 1 week (cherry picked from commit 67116c69052d27dbd6d6c066104850d4d53f0041) --- sys/compat/linux/linux_socket.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/compat/linux/linux_socket.c b/sys/compat/linux/linux_socket.c index 0bcba7167f2f..393faa5429ce 100644 --- a/sys/compat/linux/linux_socket.c +++ b/sys/compat/linux/linux_socket.c @@ -1847,7 +1847,7 @@ cont: if (error != 0) goto bad; - if (outlen + LINUX_CMSG_LEN(datalen) > maxlen) { + if (outlen + LINUX_CMSG_SPACE(datalen) > maxlen) { if (outlen == 0) { error = EMSGSIZE; goto err; @@ -1866,7 +1866,7 @@ cont: error = copyout(data, outbuf, datalen); if (error == 0) { outbuf += LINUX_CMSG_ALIGN(datalen); - outlen += LINUX_CMSG_LEN(datalen); + outlen += LINUX_CMSG_SPACE(datalen); } } err: From nobody Mon Aug 7 14:24:23 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJVH4LhCz4pj2D; Mon, 7 Aug 2023 14:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJVH3FFKz4LgC; Mon, 7 Aug 2023 14:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4pkiQeajNyPjmKx4H2nP1xK3G/rKN3nketHHsPaMO1M=; b=QC7lJVHppO6iaP81rPT5L87ybYlEaFHhY/mV0mxFScrjoYzpsncY14dVFtu8RCpaOciDlP v5EKvawWZJr+kIc+mPMGwQCi1XAqtV4qBWJDAV07Wcn3F9wC8Co7KIHVVqCuIrboWFy50A rzhIJ6UguJ9TcLw8li5tFnbKj1yQ6qw4/4tMLgdpf/Gq+Zq77TMhN9rTK2befCrJjNJLad l3UczX8j2zmrgTlcN9jMR4E+f5daXQgDuqqUGxEwkT5zgi0minjn5WZ8m5oIGKbPlYOxW3 JGQyTxjmsnly6ZIzjgMjBRGFhgIhwB5XqsNXCIcjpig7lR/3roVAJWmjM0uoxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418263; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4pkiQeajNyPjmKx4H2nP1xK3G/rKN3nketHHsPaMO1M=; b=YE6HXRk2CfyQ7IX+X+SCNbsCvp3KaqedFnUwpSv2bWNPV9GdjqCnR7E9EHSwQrTJHSXsbf PIM3VMyUWv3eF2sT6//iRHDKBG29ZbUTlb6A3JhDVMSgWXpiyq+P/3wlQjevxp5anB/KXA srdrOxK85v2GgannRol5IcPrb5SaR2kuGPFXuP6ds8vp4pM1yEl+Sx0R4XmDujAfTCG/Vr G496awjbLJLwGT3eot10Bbz1Bez6EEiVx6HWOl6end+eCQbn8BsSiMit5v6S8/ZVDsVjy0 2l6gPtZ26WslARnDdtRyp8GV08XqgPxWz8DrxquLedoTyYyAql+JaYOrQQ1fiw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418263; a=rsa-sha256; cv=none; b=S86QoJVX5+ElV/OqNrgM4TCXh7aDtAt8y0HbrYZI+EQm/4WHKv9ZGowVhp1awvvAM9v6hX LVOQpLR0t9cfZOWNPxDpcfr/kmjH7IskTJ/LTkegcYvXDijSFic8lBxsfC8OJa+IbleUNx 1k+2/QBs9RT9k9cM6yQZqFpDGKsgIuZMQjC8mimmXJiV3fu8L0Qu6g0gXVdOuowVC7ZRPP 4iFMdaSRHJg38g7J1WmLFDNQMjA+EjO2aC/qXmgrJx2u2sdya0YSyVCoYpWKJXk3+mbhR4 9YykBVtffSESCF8RoJDdSnO07eAF+50wOHah1sP8lyqEfCdv4RAEHHn0a52mGw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJVH20QWzvGW; Mon, 7 Aug 2023 14:24:23 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377EONI8025977; Mon, 7 Aug 2023 14:24:23 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377EONQF025976; Mon, 7 Aug 2023 14:24:23 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:24:23 GMT Message-Id: <202308071424.377EONQF025976@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 3b84bfafb98b - stable/13 - vfs: Deleting a doubled inclusion of sys/capsicum.h List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 3b84bfafb98beb33be1eeecb5d84f0d38de57b4a Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=3b84bfafb98beb33be1eeecb5d84f0d38de57b4a commit 3b84bfafb98beb33be1eeecb5d84f0d38de57b4a Author: Dmitry Chagin AuthorDate: 2023-07-29 08:21:58 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-07 14:22:59 +0000 vfs: Deleting a doubled inclusion of sys/capsicum.h Reviewed by: Differential Revision: https://reviews.freebsd.org/D41223 MFC after: 1 week (cherry picked from commit dbac8474fe442a7fdbdcdc3ee4a9fe177b7bf46c) --- sys/kern/vfs_cache.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/sys/kern/vfs_cache.c b/sys/kern/vfs_cache.c index 36ac9c2ed6ab..acc09036742d 100644 --- a/sys/kern/vfs_cache.c +++ b/sys/kern/vfs_cache.c @@ -71,8 +71,6 @@ __FBSDID("$FreeBSD$"); #include #endif -#include - #include #include From nobody Mon Aug 7 14:36:00 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKJlh44bPz4pjml; Mon, 7 Aug 2023 14:36:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKJlh3dyJz4QJw; Mon, 7 Aug 2023 14:36:00 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=szkqcWq3iI9WjPmsIX7ENC68YOIrzlGPcLLIAdjCBdk=; b=coOoPF3weWw/8XwDi2ezGjVQ7LkIpCrGYF+P/cm1+hdDjTxxlgYfVK9G1Sk0AsN8YwyAz1 YbvxjrGseDf1eY2muLLG7aHlcG6uWedLaWi2+EXBADYyYoYDE6Ur5TzwcoXLkzySlIRzzL LdTwV1AzO3c/Tc/Brj4XUeTKox74WTK3Ki9vnbVDwIgCR2AWcgEIA+2R0pKPjYL/FgBy1x +2pozc/JSHLM6Z8spo8CVjmDO5pstEqqnfDebI8zyomSYY/+iW+2PsgD07GrwtKfDZB0iO FUmkY0BZwth4xnXdGvTnhDZ+c4kqUvcNiWLlHLxbVhDP5JgNNr7ZJMciMxAgXA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691418960; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=szkqcWq3iI9WjPmsIX7ENC68YOIrzlGPcLLIAdjCBdk=; b=CYL3772ZH3tOaaAa0IvYpCgMQvlnMS7mu43YSVOLPqfUx2effy2aweRjFIdvPK2HqZ+a/6 CZGJV7QrMv+UeErI/7oWP9vHROrXVBKJ6Y8CMJqGjZOxUfvfl9Pn4dpOX75fgODPPvAgNa oPijfETWbcWrFIKP49YQnrRbZ0twm6bwmeRH9ajeTjfWIT9HN35fCR+o5Q9CR2Raf0mc73 C61Fs+MQ8OZZSCqeXN+n1yN+p3QpP7zUhXeRM/OQE+of3Kg41coa4CaRcIOq9+h/9+OPcH WxYahg8xChdpVqRMB8GCYt/3sNxtTH7rYZB8YFCtrRbkujHWnYcUTPm2ipqx2w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691418960; a=rsa-sha256; cv=none; b=C7RUcFsnE+eKVA7RdifoiGZMf67HkdKnjNU7EeXTOtpupfgWGdNFMKbZF8OlxV7XS33N65 J0+LkU0OiKfRRwK74SyVBEARZ0BpiqMlkADuEM3cwy+SryGYfuby/1nqQqmS4WUdywK92j MOVoDIy1azmJionS7GQrHbnuHzGNmutyGnDoH0cxY7RlHHJ2SR+ZqKB8qJNMGCJgDtSyc7 UWO6gziHsXFbtPShY7hu+W3DeMfO78INJK7FIkwXLIY71OB+Jvjlf2lML7jcNOzIo+oPY6 hiR90ofYSEFGkCywvgT0r6Y7Ofl4+azW4CxihTmQiv44TaunrR3D9DzOCdNKZg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKJlh2jw6zw0L; Mon, 7 Aug 2023 14:36:00 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 377Ea0PS043321; Mon, 7 Aug 2023 14:36:00 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 377Ea02j043320; Mon, 7 Aug 2023 14:36:00 GMT (envelope-from git) Date: Mon, 7 Aug 2023 14:36:00 GMT Message-Id: <202308071436.377Ea02j043320@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: e9cd4a8fee58 - stable/13 - e1000: Fix lem(4)/em(4) TSO6 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: e9cd4a8fee5848adb7ba3dba70d3ad1db969263d Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=e9cd4a8fee5848adb7ba3dba70d3ad1db969263d commit e9cd4a8fee5848adb7ba3dba70d3ad1db969263d Author: Kevin Bowling AuthorDate: 2023-07-31 15:16:24 +0000 Commit: Kevin Bowling CommitDate: 2023-08-07 14:35:51 +0000 e1000: Fix lem(4)/em(4) TSO6 * Fix TSO6 by specializing IP checksum insertion and following Intel SDM values for IPv6. * Remove unnecessary 82544 IP-bit handling * Remove TSO6 from lem(4) capabilitities Reviewed by: erj (earlier version) Differential Revision: https://reviews.freebsd.org/D41170 (cherry picked from commit e1353dcb63bbdb33be6a907ed6236c120518129e) --- sys/dev/e1000/em_txrx.c | 40 ++++++++++++++++++++++++---------------- sys/dev/e1000/if_em.c | 9 ++++----- 2 files changed, 28 insertions(+), 21 deletions(-) diff --git a/sys/dev/e1000/em_txrx.c b/sys/dev/e1000/em_txrx.c index 0e433f388ac5..b90ab21cd825 100644 --- a/sys/dev/e1000/em_txrx.c +++ b/sys/dev/e1000/em_txrx.c @@ -141,7 +141,6 @@ em_tso_setup(struct e1000_softc *sc, if_pkt_info_t pi, uint32_t *txd_upper, if_softc_ctx_t scctx = sc->shared; struct em_tx_queue *que = &sc->tx_queues[pi->ipi_qsidx]; struct tx_ring *txr = &que->txr; - struct e1000_hw *hw = &sc->hw; struct e1000_context_desc *TXD; int cur, hdr_len; uint32_t cmd_type_len; @@ -151,27 +150,39 @@ em_tso_setup(struct e1000_softc *sc, if_pkt_info_t pi, uint32_t *txd_upper, E1000_TXD_DTYP_D | /* Data descr type */ E1000_TXD_CMD_TSE); /* Do TSE on this packet */ - /* IP and/or TCP header checksum calculation and insertion. */ - *txd_upper = (E1000_TXD_POPTS_IXSM | E1000_TXD_POPTS_TXSM) << 8; - cur = pi->ipi_pidx; TXD = (struct e1000_context_desc *)&txr->tx_base[cur]; /* - * Start offset for header checksum calculation. - * End offset for header checksum calculation. - * Offset of place put the checksum. + * ipcss - Start offset for header checksum calculation. + * ipcse - End offset for header checksum calculation. + * ipcso - Offset of place to put the checksum. */ + switch(pi->ipi_etype) { + case ETHERTYPE_IP: + /* IP and/or TCP header checksum calculation and insertion. */ + *txd_upper = (E1000_TXD_POPTS_IXSM | E1000_TXD_POPTS_TXSM) << 8; + + TXD->lower_setup.ip_fields.ipcse = + htole16(pi->ipi_ehdrlen + pi->ipi_ip_hlen - 1); + break; + case ETHERTYPE_IPV6: + /* TCP header checksum calculation and insertion. */ + *txd_upper = E1000_TXD_POPTS_TXSM << 8; + + TXD->lower_setup.ip_fields.ipcse = htole16(0); + break; + default: + break; + } TXD->lower_setup.ip_fields.ipcss = pi->ipi_ehdrlen; - TXD->lower_setup.ip_fields.ipcse = - htole16(pi->ipi_ehdrlen + pi->ipi_ip_hlen - 1); TXD->lower_setup.ip_fields.ipcso = pi->ipi_ehdrlen + offsetof(struct ip, ip_sum); /* - * Start offset for payload checksum calculation. - * End offset for payload checksum calculation. - * Offset of place to put the checksum. + * tucss - Start offset for payload checksum calculation. + * tucse - End offset for payload checksum calculation. + * tucso - Offset of place to put the checksum. */ TXD->upper_setup.tcp_fields.tucss = pi->ipi_ehdrlen + pi->ipi_ip_hlen; TXD->upper_setup.tcp_fields.tucse = 0; @@ -188,16 +199,13 @@ em_tso_setup(struct e1000_softc *sc, if_pkt_info_t pi, uint32_t *txd_upper, /* * "PCI/PCI-X SDM 4.0" page 45, and "PCIe GbE SDM 2.5" page 63 * - Set up basic TUCMDs - * - Enable IP bit on 82544 * - For others IP bit on indicates IPv4, while off indicates IPv6 */ cmd_type_len = sc->txd_cmd | E1000_TXD_CMD_DEXT | /* Extended descr */ E1000_TXD_CMD_TSE | /* TSE context */ E1000_TXD_CMD_TCP; /* Do TCP checksum */ - if (hw->mac.type == e1000_82544) - cmd_type_len |= E1000_TXD_CMD_IP; - else if (pi->ipi_etype == ETHERTYPE_IP) + if (pi->ipi_etype == ETHERTYPE_IP) cmd_type_len |= E1000_TXD_CMD_IP; TXD->cmd_and_length = htole32(cmd_type_len | (pi->ipi_len - hdr_len)); /* Total len */ diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index ad1780e03fc5..88738e5f0a08 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -786,8 +786,7 @@ em_set_num_queues(if_ctx_t ctx) #define LEM_CAPS \ IFCAP_HWCSUM | IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING | \ IFCAP_VLAN_HWCSUM | IFCAP_WOL | IFCAP_VLAN_HWFILTER | IFCAP_TSO4 | \ - IFCAP_LRO | IFCAP_VLAN_HWTSO| IFCAP_JUMBO_MTU | IFCAP_HWCSUM_IPV6 | \ - IFCAP_TSO6 + IFCAP_LRO | IFCAP_VLAN_HWTSO | IFCAP_JUMBO_MTU | IFCAP_HWCSUM_IPV6 #define EM_CAPS \ IFCAP_HWCSUM | IFCAP_VLAN_MTU | IFCAP_VLAN_HWTAGGING | \ @@ -939,14 +938,14 @@ em_if_attach_pre(if_ctx_t ctx) scctx->isc_tx_tso_segments_max = EM_MAX_SCATTER; scctx->isc_tx_tso_size_max = EM_TSO_SIZE; scctx->isc_tx_tso_segsize_max = EM_TSO_SEG_SIZE; - scctx->isc_capabilities = scctx->isc_capenable = EM_CAPS; + scctx->isc_capabilities = scctx->isc_capenable = LEM_CAPS; /* - * For LEM-class devices, don't enable IFCAP_{TSO4,VLAN_HWTSO,TSO6} + * For LEM-class devices, don't enable IFCAP_{TSO4,VLAN_HWTSO} * by default as we don't have workarounds for all associated * silicon errata. TSO4 may work on > 82544 but its status * is unknown by the authors. Please report any success or failures. */ - scctx->isc_capenable &= ~(IFCAP_TSO4 | IFCAP_VLAN_HWTSO | IFCAP_TSO6); + scctx->isc_capenable &= ~(IFCAP_TSO4 | IFCAP_VLAN_HWTSO); scctx->isc_tx_csum_flags = CSUM_TCP | CSUM_UDP | CSUM_IP_TSO | CSUM_IP6_TCP | CSUM_IP6_UDP; From nobody Tue Aug 8 16:43:05 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKzWs6Ljrz4pp2j; Tue, 8 Aug 2023 16:43:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKzWs5ZnGz4GhF; Tue, 8 Aug 2023 16:43:05 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691512985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rktFtQy1Htk/Mmg9CuzXWTSpsdr2eiue+6FWgSA6CEs=; b=bNy3EHrlVPMO/MAu5o7iY0EBQoITy/n47f55vB4ToRpageZz30s1re1osIr0hT2pKJUpR8 zes6cHSaCROV4UqQimgyBZ9pZc+V6KC7FiG75zvMHAf8sfAWqhU2ZcCRMhWrh0r4AED/8B qfdqlOucpVuzCDD9/BO6lnUkCzeiDCZLcX9krkEKfj7wayl7HMW11Q7RQdvXkLhjHLl3LN pW2AOQjU7h4JPj7lamZal7yAjYr4y8ZlnTWBafXVf7ahHEaUAMzPc6nLv5D6JbbtYL60MU rJHOWjjFVuNkbwRPNAVigLTCVw7FXrChzx/LbnBmQy2+BILYamOTRzxug0UJ0Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691512985; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=rktFtQy1Htk/Mmg9CuzXWTSpsdr2eiue+6FWgSA6CEs=; b=D04DIOUoG3dUnHzk7Zmlnf3qqLx5V3R5ycnJkLh7TtM1SPnbFfEbtDjB9FfUXovURU0dVS F+GA8OGSRoB33PoKqBQpkrEqIdB24zXt6V0PkfJoUjQadj876kIlhEF0/Vdir5rEHeQ/j/ KseqR7wr4sm9o80pyq8XmPeV17Vykl8FwWtNFR941WL7kXB2cgG8gYB+hQVVzSLmdGnJeY d/phforZ4eywwSFBsH6KKo2N6TRgUpuAsDpbx2SEbJIPoT0MmR5FtNrdGLcBdJ/dHQrZCj O4TCKmANl073QKVRM4QtjZaOJ3sm/SWayr/VVzyNB+pQweeg4/UD+vwOLbL9Sg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691512985; a=rsa-sha256; cv=none; b=eIjUxbsTtzUmv1z1QE0pPmZimiFvW3x3gyT93wQgmP19MM39/FTznJGOkwhr61u5Xg5ItT aCTL0dEOAEAPkEIlSrD7imHU6t/1E8YGeG+r9PGA0Wtu4Nc2PyfUYirQgqRnS6KqhLHVpm P2cDPBpgBNh6zHYeTMe7d0RWJfnukZXMTxXkjpOnUtU6eF8BLYl8Eu2xLH2h/ReUDxZkGs tn38apMCy1E2T1nmW/xgc3+YLlo/7RMWSc3tDOx+IBHcs5zs1nm9tWyesznSKvcW9MVlCF 4ziY8tF5vCAG9F7/7/WYh7/wXofra+c3XtbkAF8kVM5jUDgtBadzOD6+6UUpOw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKzWs4LwTzh8R; Tue, 8 Aug 2023 16:43:05 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 378Gh54k056661; Tue, 8 Aug 2023 16:43:05 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 378Gh5iS056660; Tue, 8 Aug 2023 16:43:05 GMT (envelope-from git) Date: Tue, 8 Aug 2023 16:43:05 GMT Message-Id: <202308081643.378Gh5iS056660@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: edd0014a6e34 - stable/13 - ssh: comment deprecated option handling for retired local patches List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: edd0014a6e3447a628c7167daa9f0c9b9beda9d8 Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=edd0014a6e3447a628c7167daa9f0c9b9beda9d8 commit edd0014a6e3447a628c7167daa9f0c9b9beda9d8 Author: Ed Maste AuthorDate: 2023-08-02 14:18:33 +0000 Commit: Ed Maste CommitDate: 2023-08-08 16:42:01 +0000 ssh: comment deprecated option handling for retired local patches Older versions of FreeBSD included the HPN patch set and provided client-side VersionAddendum. Both of these changes have been retired but we've retained the option parsing for backwards compatibility to avoid breaking upgrades. Add comment references to the relevant commits. Sponsored by: The FreeBSD Foundation (cherry picked from commit a93cbba2deed209a30da1ecffa637bf5c61b7641) --- crypto/openssh/readconf.c | 2 ++ crypto/openssh/servconf.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/crypto/openssh/readconf.c b/crypto/openssh/readconf.c index 8c1328da5dfa..318729263ee6 100644 --- a/crypto/openssh/readconf.c +++ b/crypto/openssh/readconf.c @@ -325,12 +325,14 @@ static struct { { "requiredrsasize", oRequiredRSASize }, { "enableescapecommandline", oEnableEscapeCommandline }, + /* HPN patch - retired in 60c59fad8806 */ { "hpndisabled", oDeprecated }, { "hpnbuffersize", oDeprecated }, { "tcprcvbufpoll", oDeprecated }, { "tcprcvbuf", oDeprecated }, { "noneenabled", oUnsupported }, { "noneswitch", oUnsupported }, + /* Client VersionAddendum - retired in main in bffe60ead024 */ { "versionaddendum", oVersionAddendum }, { NULL, oBadOption } diff --git a/crypto/openssh/servconf.c b/crypto/openssh/servconf.c index 5e6b496dd3af..840aa09b2fd8 100644 --- a/crypto/openssh/servconf.c +++ b/crypto/openssh/servconf.c @@ -707,10 +707,13 @@ static struct { { "unusedconnectiontimeout", sUnusedConnectionTimeout, SSHCFG_ALL }, { "useblacklist", sUseBlacklist, SSHCFG_GLOBAL }, { "useblocklist", sUseBlacklist, SSHCFG_GLOBAL }, /* alias */ + + /* HPN patch - retired in 60c59fad8806 */ { "noneenabled", sUnsupported, SSHCFG_ALL }, { "hpndisabled", sDeprecated, SSHCFG_ALL }, { "hpnbuffersize", sDeprecated, SSHCFG_ALL }, { "tcprcvbufpoll", sDeprecated, SSHCFG_ALL }, + { NULL, sBadOption, 0 } }; From nobody Tue Aug 8 16:49:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKzfx6GlFz4pp1h; Tue, 8 Aug 2023 16:49:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKzfx5qWnz4H7B; Tue, 8 Aug 2023 16:49:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691513353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=utrxf5d0PZRvvCAQ6dPTBXMorpUtcMo6wtzQZYzMMR4=; b=J/Jwi75mbvehU1Vh/yIrxZBY0jjiC6oI0B7zuth/RFunooXsZHKZ3qtPNdX3kd3eW5TB5C mMBEkQFAX3sXx7GKibDRQEQ6sGypWEpRH4V5yR8BQ74b1KKGPL7wpAHuFLPzydulVcnPmJ sS4gVh4NqbiFpFz0t2sg9R3LSGsG9Rnpl1cihqbWtxu73JwrMVb92qFfJnKmy3z2ugtnB9 famqDO+PPuspnyxfQYCbMzkreuykjefU9k4C8hTFK8gARlFGVGCXREUFIRCmrCeKedJwOE kvqMK+cCHQ3La6FRe8aZoJ5t4rmZ3n/mf+W70OFSRDYS7UNnxjvFtZwNWBMy2g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691513353; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=utrxf5d0PZRvvCAQ6dPTBXMorpUtcMo6wtzQZYzMMR4=; b=JtFyvt7VeDdVkt3q5rE3tp7leDUxaevSHriZZt6QL9GPonZ+oAIjBTratT94QF92gXfWpT U4LAytOCu6AtICWePxjJeclFHFoafX3hY7VmjINrUz05ZLgDuXsy3EGdyUxV5j0wWOEnMw sfYivSMePDtqsnP9pSUqwfZTwuE4aREHP2OyWsQ+haVU6Cmhoc2Dv72HpNZD7sTJOWIHys NJE4HnEkvqIpyBrRdppCsZZfllZfjFohv0O+/3StqIJar2nOL+JpXDRkav/rRdaSnsnuQl S+v/uGq0s/E92jIp5YvmIWsvM0nAAKCDcinecYMmhwmGB0xk47tdQVE2Kn8KYw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691513353; a=rsa-sha256; cv=none; b=XxvkAFblKDDFAOT5TkvK5+8xv6OJgQi8E9geAcdJ6hwl5lTiaa6GgqfZzMMb+etmctgcug H1oYFdKGDaaAPyu25bMp4FtHZgvYjiiLmLn8wp9+QB4AoYRy0i4MxY2azRn1HaRmJc9suQ 8f+W3HzjEw5rADKESJ9ubuq/xEvWLq3nVn8JWk8D1JfqJO9NAsEeCeBAnlFJyqPf9c73Et AcIxvgO8dzZ5dYstRbbjjjnmKiRD8lUjpH7C0/Wfc8M5xvScUJ4hjpIW8ayI9ijCUKGIZM AzCbkHNZ+5pjQZsqCPgoNrPGkiwEksqq/NgeR9nOSy0Y57Su0fCqueJ+U1Vnzw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKzfx4vRpzhR0; Tue, 8 Aug 2023 16:49:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 378GnD0V057638; Tue, 8 Aug 2023 16:49:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 378GnDFm057637; Tue, 8 Aug 2023 16:49:13 GMT (envelope-from git) Date: Tue, 8 Aug 2023 16:49:13 GMT Message-Id: <202308081649.378GnDFm057637@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 41b96792050e - stable/12 - ssh: remove pre- and post-merge update steps List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 41b96792050ec9bf5069f451732c29d20275c461 Auto-Submitted: auto-generated The branch stable/12 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=41b96792050ec9bf5069f451732c29d20275c461 commit 41b96792050ec9bf5069f451732c29d20275c461 Author: Ed Maste AuthorDate: 2022-10-06 14:57:41 +0000 Commit: Ed Maste CommitDate: 2023-08-08 16:46:47 +0000 ssh: remove pre- and post-merge update steps We no longer use the pre- and post-merge scripts to strip/add RCS tags. The tags have been removed from main, but persist on older branches. While here renumber the steps in the update documentation using a more conventional scheme. Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D36904 (cherry picked from commit fca7ac55f8db80b5250bd80a83e1368fe0c39ae5) (cherry picked from commit b9622c483be52dd4cd7411da91b23d9f7e761130) --- crypto/openssh/FREEBSD-upgrade | 48 +++++++++++++----------------------- crypto/openssh/freebsd-post-merge.sh | 14 ----------- crypto/openssh/freebsd-pre-merge.sh | 16 ------------ 3 files changed, 17 insertions(+), 61 deletions(-) diff --git a/crypto/openssh/FREEBSD-upgrade b/crypto/openssh/FREEBSD-upgrade index 50ef62d3fec6..bf3cf44d1670 100644 --- a/crypto/openssh/FREEBSD-upgrade +++ b/crypto/openssh/FREEBSD-upgrade @@ -6,36 +6,36 @@ src/freebsd/vendor/. In addition, this assumes there is a "freebsd" origin pointing to git(repo).freebsd.org/src.git. -00) Make sure your mail spool has plenty of free space. It'll fill up +01) Make sure your mail spool has plenty of free space. It'll fill up pretty fast once you're done with this checklist. -01) Download the latest OpenSSH-portable tarball and signature from +02) Download the latest OpenSSH-portable tarball and signature from OpenBSD (https://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/). -02) Verify the signature: +03) Verify the signature: $ gpg --verify openssh-X.YpZ.tar.gz.asc -03) Unpack the tarball in a suitable directory: +04) Unpack the tarball in a suitable directory: $ tar xf openssh-X.YpZ.tar.gz -04) Copy to a vendor branch: +05) Copy to a vendor branch: $ cd src/freebsd/main $ git worktree add ../vendor/openssh freebsd/vendor/openssh $ cd ../vendor/openssh $ rsync --archive --delete --exclude=.git /path/to/openssh-X.YpZ/ ./ -05) Take care of added / deleted files: +06) Take care of added / deleted files: $ git add -A -06) Commit: +07) Commit: $ git commit -m "Vendor import of OpenSSH X.YpZ" -07) Tag: +08) Tag: $ git tag -a -m "Tag OpenSSH X.YpZ" vendor/openssh/X.YpZ @@ -46,12 +46,6 @@ (It could also be pushed later on, along with the merge to main, but pushing now allows others to collaborate.) -08) Check out head and run the pre-merge script, which strips our RCS - tags from files that have them: - - $ cd src/freebsd/main/crypto/openssh - $ sh freebsd-pre-merge.sh - 09) Merge from the vendor branch: $ git subtree merge -P crypto/openssh vendor/openssh @@ -61,11 +55,11 @@ git prompts for these deleted files during the merge, choose 'd' (leaving them deleted). -0A) Resolve conflicts. Remember to bump the version addendum in +10) Resolve conflicts. Remember to bump the version addendum in version.h, and update the default value in ssh{,d}_config and ssh{,d}_config.5. -0B) Diff against the vendor branch: +11) Diff against the vendor branch: $ git diff --diff-filter=M vendor/openssh/X.YpZ HEAD:crypto/openssh @@ -74,40 +68,32 @@ FreeBSD=%H and be listed in the 'keywords' file created by the pre-merge script. -0C) Run the post-merge script, which re-adds RCS tags to files that - need them: - - $ sh freebsd-post-merge.sh - - These tags are not used with git, but we will leave them in place as - long as svn-based FreeBSD 12.x is supported. - -0D) Run the configure script: +12) Run the configure script: $ sh freebsd-configure.sh -0E) Review changes to config.h very carefully. +13) Review changes to config.h very carefully. Note that libwrap should not be defined in config.h; as of r311585 (233932cc2a60) it is conditional on MK_TCP_WRAPPERS. -0F) If source files have been added or removed, update the appropriate +14) If source files have been added or removed, update the appropriate makefiles to reflect changes in the vendor's Makefile.in. -10) Update ssh_namespace.h: +15) Update ssh_namespace.h: $ sh freebsd-namespace.sh -11) Build and install world, reboot, test. Pay particular attention +16) Build and install world, reboot, test. Pay particular attention to pam_ssh(8), which gropes inside libssh and will break if something significant changes or if ssh_namespace.h is out of whack. -12) Check for references to obsolete configuration options +17) Check for references to obsolete configuration options (e.g., ChallengeResponseAuthentication in sshd_config) which may exist in release/ scripts. -13) Commit, and hunker down for the inevitable storm of complaints. +18) Commit, and hunker down for the inevitable storm of complaints. diff --git a/crypto/openssh/freebsd-post-merge.sh b/crypto/openssh/freebsd-post-merge.sh deleted file mode 100755 index b9e4cbddc7e8..000000000000 --- a/crypto/openssh/freebsd-post-merge.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/sh -# -# $FreeBSD$ -# - -xargs perl -n -i -e ' - print; - s/\$(Id|OpenBSD): [^\$]*/\$FreeBSD/ && print; -' keywords -:>rcsid -git ls-files | \ -while read f ; do - egrep -l '^(#|\.\\"|/\*)[[:space:]]+\$FreeBSD[:\$]' $f >>keywords - egrep -l '__RCSID\("\$FreeBSD[:\$]' $f >>rcsid -done -sort -u keywords rcsid | xargs perl -n -i -e ' - $strip = $ARGV if /\$(Id|OpenBSD):.*\$/; - print unless (($strip eq $ARGV || /__RCSID/) && /\$FreeBSD[:\$]/); -' From nobody Tue Aug 8 16:49:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RKzfz19kcz4pp4C; Tue, 8 Aug 2023 16:49:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RKzfy6pTvz4H9q; Tue, 8 Aug 2023 16:49:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691513355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hgu/uWiUovotnd4aqatVMDBpp3nsQL+YK+xj5ir/7Wg=; b=gi1OChInL4D/GCJClkVIQv8YGzty3D24VzTpXowk8f+kmS8pkheGseAffvz08japyGPQtF WZVNTQ2xjP7/gs1y3Ddaba/CZ3+kV6pnbV1dwopGTjc4t6TiI/aBILufz9p4u5Ntm8gnsa arFyU2hbVA7YiQILBlayphNBGnKRuGKPCUE8p8UbmtSsN5sjI2bKwrKsm05MQOaJpjBIPe udMTCbnDyCPq2KapF4c2AZgbqGBnrE+0RZvqY7REeoftaBbY58fTKF+5kW00PdZH9ks5iL n1SAVJY1FMhLxj6ysx/CMGc6WYTp8QfBT0ModBpxc7lpDBZ77QIwu0DIXXONXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691513355; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hgu/uWiUovotnd4aqatVMDBpp3nsQL+YK+xj5ir/7Wg=; b=LBkrcF9ypQNnw4CpOp8rB1h2kUeVkHaM8IN2QoPNwyGmBbozv+/zOLi8mnFoBvzh1JThZx n9dfAGbBj3caSEEeOeOjOsawsNWxEM+UN6QrsedhEqK9fi01CbnFsCSe1Yr3q/YjDvs6m3 u24rb/Q5pm5TRx/xJp3BjBJ7COTlG90WbY7ZmWvEVi+eURkIBivQvoJr+LuQ88kI9Abvpk NXIyBQUnTUN0qVBjcWzAv7FPGZ4h1uJbJoWxD+FqBWoqZ0pIc4PqWiKcOOO2JLR6lGKbVK ULZZBZO3/obiTWPngvKfgEMf168J/1XziguRFLM3Z8QwXelEqCY69msCVLdNZg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691513355; a=rsa-sha256; cv=none; b=WP1zKxnVVVJneVCN6GaoW6EUMWyCTAhzkL8p3veMoVbsMSyNJoYNr4TWAn0TB2MaGgjq/o Ljv2QOW8ukB4g5035vNz7vq4meNrtx2X6G3loLuW5yLWcV2Atkce7XBOGcmhTLqycBtUhH fLdxVN9KKWE6qlHnmL6fD4z+UBs5O63/zFNLr/zoYstL3fnaBjxtH3AyCPYfNKWE67yCn4 ipJR8Kd1phvRXBSfD4n323eoAcG1ojgNZijDypYxHXjs6jRSvNjJaqSW2+xSpkYWh5E15d nvOb9oIJ+u5Z9xh5CEdm0Hx+5oZaIzmVQtfUeuDGGFLF6pWCDTCfcySnFdwCxw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RKzfy5ZBQzhR1; Tue, 8 Aug 2023 16:49:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 378GnEew057658; Tue, 8 Aug 2023 16:49:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 378GnETm057657; Tue, 8 Aug 2023 16:49:14 GMT (envelope-from git) Date: Tue, 8 Aug 2023 16:49:14 GMT Message-Id: <202308081649.378GnETm057657@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: c734abca9540 - stable/12 - ssh: comment deprecated option handling for retired local patches List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: c734abca9540fc8af5c790e9d05fc0dcb77d78eb Auto-Submitted: auto-generated The branch stable/12 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=c734abca9540fc8af5c790e9d05fc0dcb77d78eb commit c734abca9540fc8af5c790e9d05fc0dcb77d78eb Author: Ed Maste AuthorDate: 2023-08-02 14:18:33 +0000 Commit: Ed Maste CommitDate: 2023-08-08 16:48:45 +0000 ssh: comment deprecated option handling for retired local patches Older versions of FreeBSD included the HPN patch set and provided client-side VersionAddendum. Both of these changes have been retired but we've retained the option parsing for backwards compatibility to avoid breaking upgrades. Add comment references to the relevant commits. Sponsored by: The FreeBSD Foundation (cherry picked from commit a93cbba2deed209a30da1ecffa637bf5c61b7641) (cherry picked from commit edd0014a6e3447a628c7167daa9f0c9b9beda9d8) --- crypto/openssh/readconf.c | 2 ++ crypto/openssh/servconf.c | 3 +++ 2 files changed, 5 insertions(+) diff --git a/crypto/openssh/readconf.c b/crypto/openssh/readconf.c index 2bb38ff70a19..798a170c4604 100644 --- a/crypto/openssh/readconf.c +++ b/crypto/openssh/readconf.c @@ -325,12 +325,14 @@ static struct { { "knownhostscommand", oKnownHostsCommand }, { "requiredrsasize", oRequiredRSASize }, + /* HPN patch - retired in 60c59fad8806 */ { "hpndisabled", oDeprecated }, { "hpnbuffersize", oDeprecated }, { "tcprcvbufpoll", oDeprecated }, { "tcprcvbuf", oDeprecated }, { "noneenabled", oUnsupported }, { "noneswitch", oUnsupported }, + /* Client VersionAddendum - retired in main in bffe60ead024 */ { "versionaddendum", oVersionAddendum }, { NULL, oBadOption } diff --git a/crypto/openssh/servconf.c b/crypto/openssh/servconf.c index 1dd313005089..2b0dd936bc78 100644 --- a/crypto/openssh/servconf.c +++ b/crypto/openssh/servconf.c @@ -695,10 +695,13 @@ static struct { { "requiredrsasize", sRequiredRSASize, SSHCFG_ALL }, { "useblacklist", sUseBlacklist, SSHCFG_GLOBAL }, { "useblocklist", sUseBlacklist, SSHCFG_GLOBAL }, /* alias */ + + /* HPN patch - retired in 60c59fad8806 */ { "noneenabled", sUnsupported, SSHCFG_ALL }, { "hpndisabled", sDeprecated, SSHCFG_ALL }, { "hpnbuffersize", sDeprecated, SSHCFG_ALL }, { "tcprcvbufpoll", sDeprecated, SSHCFG_ALL }, + { NULL, sBadOption, 0 } }; From nobody Tue Aug 8 18:13:19 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RL1Wz5C0Hz4pvJh; Tue, 8 Aug 2023 18:13:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RL1Wz4jhjz4ZJB; Tue, 8 Aug 2023 18:13:19 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691518399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ld7SdPvd6kwzTLkfceTt9myLzDU5CI0SELAbashFPvY=; b=EtoO4LGwm9qWLLHxiu+sye2mh1cy8t9xZyrHGrDUoV7K5Z6PcAW4nT05tjinHX8fPHQ7Kx yMRepoi+ojH2Sj8DiQQPpWNyUHqtOgQtnOhkNuazxxJTm9qwxgN+jmw7WmsHMpOQKeuJXi 58VI+QSD/cGbiNfKhuFM8UerRzCO36VqXdYBDxHwmY47RJATSnHIq/sYkK2wzzsjEPcsBL kdMEqaIj9GnsPy/FUC40BCBL5HgD6AScIoT/eDA9641VUWVj8KwBMIyAW3cd2Lx5arwwnf FL9bPgpTDykNynaubuq650/8r7Gzh55yFyuU0FUsNVIhwnMUC1O7EkEjcbx+dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691518399; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ld7SdPvd6kwzTLkfceTt9myLzDU5CI0SELAbashFPvY=; b=Io0oVOUOhgBM/+QJeefRpSI1WCkQfNahluvNKqYL0i3iAd+FZOJxFmOKWYtXQ+WfXiXhi3 Wo1iVkBM/j4dhqQJsiIP9PyrF23gA+WXqL2os0VYm3xEfc7ASbd9nZyDC2zFoxRbLEZpkU kaCRPpIvvLZXFOfqPA+SYrPLzhoyHifgGSGNVoQWI3g6BfDkekb/q4HbP2QHmjkW/dahYM 8hXXCos989GtH2igQxYIlWWmrJ6WPxSmHmqX3W9HtNRGbAA+DkvU4K7PYf5DRVajPmSpwC fQwxKM5VJRRCIV+k8/yD6oAk5bByH+CfFwWWsoGmAyq8h2K28IMovC/BBdsGAQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691518399; a=rsa-sha256; cv=none; b=rfYZafmNfmILy9P9cYZ5jUADP0d63zE4lLvxdU4fCbj4tRqlQQZ4WfNA2c661fguJUyyg8 w9etdRZAhtGz5ZD5TEIG8jIkc9SO2qSIOGzfeOSRFxYTZ7CiLp7inXlyOz+t506OpdYm++ 7DAy9xGFo6T5X2CpL26vTX1swekGTk0qEdZNB35CqIDf9SGpwXbFBiNieZjd5Uy2JQTvAo WjWxhVzE4SssnIa7+HDu7LD4d68YTu07xuACTGBUuoDraHYKi8k3W2Pk1lmA2rYhfeISpR Fotgo5HUZRyMw47tZY2E5r4FesKw56kWDGhEVXeb3shsd1Y1T8WSp7GUs1IN8w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RL1Wz3nvzzkxp; Tue, 8 Aug 2023 18:13:19 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 378IDJQB006895; Tue, 8 Aug 2023 18:13:19 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 378IDJCo006894; Tue, 8 Aug 2023 18:13:19 GMT (envelope-from git) Date: Tue, 8 Aug 2023 18:13:19 GMT Message-Id: <202308081813.378IDJCo006894@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 2030f99a9aac - stable/12 - cd9660: do not leak buffers in cd9660_rrip_loop() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/12 X-Git-Reftype: branch X-Git-Commit: 2030f99a9aac92b06e16f0f21a3307df8ee90acd Auto-Submitted: auto-generated The branch stable/12 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=2030f99a9aac92b06e16f0f21a3307df8ee90acd commit 2030f99a9aac92b06e16f0f21a3307df8ee90acd Author: Konstantin Belousov AuthorDate: 2023-07-31 22:55:13 +0000 Commit: Ed Maste CommitDate: 2023-08-08 18:12:29 +0000 cd9660: do not leak buffers in cd9660_rrip_loop() PR: 272856 (cherry picked from commit fa3cf6cdc68cb6d6f2c440f2653258d68eae1015) (cherry picked from commit 746c8f0cd7061bcda4bb68cb612827288459bee6) --- sys/fs/cd9660/cd9660_rrip.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/sys/fs/cd9660/cd9660_rrip.c b/sys/fs/cd9660/cd9660_rrip.c index 55833ea73dd5..1cae8463e8f6 100644 --- a/sys/fs/cd9660/cd9660_rrip.c +++ b/sys/fs/cd9660/cd9660_rrip.c @@ -553,12 +553,18 @@ cd9660_rrip_loop(isodir,ana,table) } if (ana->fields && ana->iso_ce_len) { - if (ana->iso_ce_blk >= ana->imp->volume_space_size - || ana->iso_ce_off + ana->iso_ce_len > ana->imp->logical_block_size - || bread(ana->imp->im_devvp, - ana->iso_ce_blk << - (ana->imp->im_bshift - DEV_BSHIFT), - ana->imp->logical_block_size, NOCRED, &bp)) + if (ana->iso_ce_blk >= ana->imp->volume_space_size || + ana->iso_ce_off + ana->iso_ce_len > + ana->imp->logical_block_size) + break; + if (bp != NULL) { + brelse(bp); + bp = NULL; + } + if (bread(ana->imp->im_devvp, + ana->iso_ce_blk << + (ana->imp->im_bshift - DEV_BSHIFT), + ana->imp->logical_block_size, NOCRED, &bp) != 0) /* what to do now? */ break; phead = (ISO_SUSP_HEADER *)(bp->b_data + ana->iso_ce_off); From nobody Wed Aug 9 20:57:09 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLj6Z0L93z4mJ34; Wed, 9 Aug 2023 20:57:10 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLj6Y6y5Jz4D8N; Wed, 9 Aug 2023 20:57:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691614630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K0h3RUK3gxET5jqrMWH5S2qz9EPabHCAiwf6uqAEUuw=; b=gRpdzvRz79uhJ7fZsQYpfKkuAHkKW9oZIG3o4d104ppUL8NAKRRExrn/Tgl3fiUKTA+U/u PG5JW+3JZ4/vtzZ8VAq1+EAKATKC/aV/BVq3p4JNplHs1Cb0ERXixwUvOehB42XLlqj5c2 w/k4n3IUGiKYaHPfKN0/rE8JespRH5sL+agMINe6yWoxY0rWN3MX8E5+cRxshmz7q2ImaO kJi84Yzv5Y0na2Xc8t8upH202104l5WBe/keWYhdyHubYRrHK33EEEeXfUZdbHhYo6h78K qS3rIVY1b7m59nqOMHORyOgi1XP/WFWUNkeXB7N/jI3XTD+xxbMhXo5NbO92cg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691614630; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=K0h3RUK3gxET5jqrMWH5S2qz9EPabHCAiwf6uqAEUuw=; b=T086jRe5UmuFCixVy4AiMJxSWW6Q0sNqPTidcHBoRHvZofRYaU060dpqGwG8cwaGrY+89l +n0/CitAbNJ47fojGPeT56DjaA0+YUees/r09z1RoQFKYXKQJB16JEQmKX8G2vCGfQ9kL5 E8208U6/9DWGbYloZjkJhLD+DG7GMCPrpeytQbrC+Q/0inIgrQdSlqf8KFbgoFQ0xxhT+i I8h47/WBJOl2gFNQ8jzhdqW5sDLcwZXbTw5ds/rgWLF5HyG8bQ2gGLwyEn6MHroedx5vY9 emBW2TJvXRJiZG/n96rDgDkP062SD+BpXKSQy+Soova4ZKdZyi2/pz1NVU08tQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691614630; a=rsa-sha256; cv=none; b=Szq9xoKEYHF2DDv0QN8R8EXziDWRp5/bcrsEMSDUvYMt7x0K3mdPe4BhcyhxegbcbPUrzI hYYCjxyu2fPKSFOY9f02dBQ79d2QVUFY1vzsvMf5RpJiWxYmwy6+Vgil0YYCOrRIQk1a0c JSZ5JSp6+u+QGGZZnlhoGKRDRlNgMGBtpkqr2dc/uTwegNJGKNKi8NIajyC88/tjdEorYJ THuEv6VLGk+D4YNaZzKBvcVvlFbbsEunuMkLtaxOkrMJjYGxhkivQE3AOi8PPR9EnsRW1q EnpHf5xlmA3YwfsOVthJOjsGrub6fZuqO2gygpxnXfLzKwIQIJ7njnQfZDpSIw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLj6Y5hZjzWPw; Wed, 9 Aug 2023 20:57:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 379Kv9Od076074; Wed, 9 Aug 2023 20:57:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 379Kv9pR076072; Wed, 9 Aug 2023 20:57:09 GMT (envelope-from git) Date: Wed, 9 Aug 2023 20:57:09 GMT Message-Id: <202308092057.379Kv9pR076072@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Mark Johnston Subject: git: 5abba9619cbb - stable/13 - vm_map: Add a macro to fetch a map entry's split boundary index List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: markj X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 5abba9619cbb6f1cdd598d6eaa80ebd1947fa7f5 Auto-Submitted: auto-generated The branch stable/13 has been updated by markj: URL: https://cgit.FreeBSD.org/src/commit/?id=5abba9619cbb6f1cdd598d6eaa80ebd1947fa7f5 commit 5abba9619cbb6f1cdd598d6eaa80ebd1947fa7f5 Author: Mark Johnston AuthorDate: 2023-05-09 14:07:15 +0000 Commit: Mark Johnston CommitDate: 2023-08-09 20:48:18 +0000 vm_map: Add a macro to fetch a map entry's split boundary index The resulting code is a bit more concise. No functional change intended. Reviewed by: alc, dougm, kib MFC after: 1 week Differential Revision: https://reviews.freebsd.org/D41249 (cherry picked from commit d0e4e53ebd6499d420c19426586eeeafec157150) --- sys/vm/vm_fault.c | 3 +-- sys/vm/vm_map.c | 13 ++++--------- sys/vm/vm_map.h | 4 +++- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/sys/vm/vm_fault.c b/sys/vm/vm_fault.c index 51fb51f69f3d..86ffd8d141b6 100644 --- a/sys/vm/vm_fault.c +++ b/sys/vm/vm_fault.c @@ -486,8 +486,7 @@ vm_fault_populate(struct faultstate *fs) MPASS(pager_last < fs->first_object->size); vm_fault_restore_map_lock(fs); - bdry_idx = (fs->entry->eflags & MAP_ENTRY_SPLIT_BOUNDARY_MASK) >> - MAP_ENTRY_SPLIT_BOUNDARY_SHIFT; + bdry_idx = MAP_ENTRY_SPLIT_BOUNDARY_INDEX(fs->entry); if (fs->map->timestamp != fs->map_generation) { if (bdry_idx == 0) { vm_fault_populate_cleanup(fs->first_object, pager_first, diff --git a/sys/vm/vm_map.c b/sys/vm/vm_map.c index ce520de160ef..c2b7dd81d3ca 100644 --- a/sys/vm/vm_map.c +++ b/sys/vm/vm_map.c @@ -2445,8 +2445,7 @@ vm_map_clip_start(vm_map_t map, vm_map_entry_t entry, vm_offset_t startaddr) KASSERT(entry->end > startaddr && entry->start < startaddr, ("%s: invalid clip of entry %p", __func__, entry)); - bdry_idx = (entry->eflags & MAP_ENTRY_SPLIT_BOUNDARY_MASK) >> - MAP_ENTRY_SPLIT_BOUNDARY_SHIFT; + bdry_idx = MAP_ENTRY_SPLIT_BOUNDARY_INDEX(entry); if (bdry_idx != 0) { if ((startaddr & (pagesizes[bdry_idx] - 1)) != 0) return (KERN_INVALID_ARGUMENT); @@ -2519,8 +2518,7 @@ vm_map_clip_end(vm_map_t map, vm_map_entry_t entry, vm_offset_t endaddr) KASSERT(entry->start < endaddr && entry->end > endaddr, ("%s: invalid clip of entry %p", __func__, entry)); - bdry_idx = (entry->eflags & MAP_ENTRY_SPLIT_BOUNDARY_MASK) >> - MAP_ENTRY_SPLIT_BOUNDARY_SHIFT; + bdry_idx = MAP_ENTRY_SPLIT_BOUNDARY_INDEX(entry); if (bdry_idx != 0) { if ((endaddr & (pagesizes[bdry_idx] - 1)) != 0) return (KERN_INVALID_ARGUMENT); @@ -3513,8 +3511,7 @@ vm_map_wire_locked(vm_map_t map, vm_offset_t start, vm_offset_t end, int flags) saved_start = entry->start; saved_end = entry->end; last_timestamp = map->timestamp; - bidx = (entry->eflags & MAP_ENTRY_SPLIT_BOUNDARY_MASK) - >> MAP_ENTRY_SPLIT_BOUNDARY_SHIFT; + bidx = MAP_ENTRY_SPLIT_BOUNDARY_INDEX(entry); incr = pagesizes[bidx]; vm_map_busy(map); vm_map_unlock(map); @@ -3712,9 +3709,7 @@ vm_map_sync( vm_map_unlock_read(map); return (KERN_INVALID_ARGUMENT); } - bdry_idx = (entry->eflags & - MAP_ENTRY_SPLIT_BOUNDARY_MASK) >> - MAP_ENTRY_SPLIT_BOUNDARY_SHIFT; + bdry_idx = MAP_ENTRY_SPLIT_BOUNDARY_INDEX(entry); if (bdry_idx != 0 && ((start & (pagesizes[bdry_idx] - 1)) != 0 || (end & (pagesizes[bdry_idx] - 1)) != 0)) { diff --git a/sys/vm/vm_map.h b/sys/vm/vm_map.h index 8f318b34e601..7854a91f36a9 100644 --- a/sys/vm/vm_map.h +++ b/sys/vm/vm_map.h @@ -150,8 +150,10 @@ struct vm_map_entry { #define MAP_ENTRY_HEADER 0x00080000 #define MAP_ENTRY_SPLIT_BOUNDARY_MASK 0x00300000 - #define MAP_ENTRY_SPLIT_BOUNDARY_SHIFT 20 +#define MAP_ENTRY_SPLIT_BOUNDARY_INDEX(entry) \ + (((entry)->eflags & MAP_ENTRY_SPLIT_BOUNDARY_MASK) >> \ + MAP_ENTRY_SPLIT_BOUNDARY_SHIFT) #ifdef _KERNEL static __inline u_char From nobody Thu Aug 10 00:28:12 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLnp463XLz4mWbQ; Thu, 10 Aug 2023 00:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLnp45Z2yz4YfX; Thu, 10 Aug 2023 00:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691627292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4cxFzrFtSs3OSjvkJNl6JVdeUrO97bY1WXuRY4OFnZ0=; b=EPtNJ1iFUhSsyRrCbirueu0Kp2bHM1Yz+/TyoW1rhxdwhnRxRnIICFkK1Z+BtxeFgc/hxD yQPWo66PdS4HVpzpFH7fmgjNf2Zwr2RDDqfZ978NsDkVemC3ereisoN3Af7vIopcWeg2lu KqtoISEV/m5wSGDHER8bM3kQmWieCrd7IgFpeT3CG0VT3hFf8F7g0T38y9DK/Ib7lMz4+4 IxwlJg/RNNFR4fG1djRpbZNca2Vnj/4XpgVw/BoLLJjqsW0lkJ/FVnAXSS0G1ht5bcgcQy O95R8WhhFJoXVK+9OxveHURkMG8vitSlDmVpWeiNGqquKf8ZQhOuzFNpjjN7Dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691627292; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=4cxFzrFtSs3OSjvkJNl6JVdeUrO97bY1WXuRY4OFnZ0=; b=D/PGJSxj/fcq3SEb6BkSfcR5QeEWvOHL2etZ4NcV5SjReQ8DCIBhoTLtfZCgJD9VZ/yJAN Xu1Clo7QYSx0bXAu2WBLU8BmchXa+ueqKIXQRBk/xILwBSA3uOY4IfQ/KsjQsDGa1a4EsX X1yR+EK+SFY4U7OFikGTx0zNejiB9ohVudSNz1M1ebZKG+o255waGEqCoviSf7aaZw39c4 YpIjKY268p/82lEKgmy6XzycsKidoMfkwpb9/xgwU5Hfs3S3gaG1WQidcGCVdJFaZWUGGc S0tguuhJK2qcWBUHlZ5WgAmrzvWjrKn4Dsg79GoplNwGW0jnC2lHSzNH41s1TA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691627292; a=rsa-sha256; cv=none; b=gyx3IWj7kbvf/hJIGEh2RYjFRiiKN8ktNC7vKi58vAy4TjS0JlLX4gYHz+K+Urx8J5p4Ue BW56qtZr0xx9vdCVa2m+fDWJLVlo5oYBOmQtCX7Bd8spnLAwU/g3ZlyLsBOui51330X4Lb h0ktdFtIIrzJN45WU6Sv70+cyhySGxSOZzofQFZclzGf8Xuf6kbLK32+nwrrb3EY4AdP0b SgeUgILjQ0cBd7KVhJCbQ8DChB8rFM86tNajmiSiAEOYFl2/iTlj4ShmrmHOCQrLKRZA4u tDwgBnsjyp1kQJl566u1SCeSAqIC1RXjL+6AqykUYuct/S1dqisu6fnGMWkTEQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLnp44dL7zcDt; Thu, 10 Aug 2023 00:28:12 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A0SClA025527; Thu, 10 Aug 2023 00:28:12 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A0SCfN025524; Thu, 10 Aug 2023 00:28:12 GMT (envelope-from git) Date: Thu, 10 Aug 2023 00:28:12 GMT Message-Id: <202308100028.37A0SCfN025524@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: c68db90db192 - stable/13 - e1000: Automask TSO on lem(4)/em(4) 10/100 Ethernet List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c68db90db19230cdc579c88003d69bf515f4dd92 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=c68db90db19230cdc579c88003d69bf515f4dd92 commit c68db90db19230cdc579c88003d69bf515f4dd92 Author: Kevin Bowling AuthorDate: 2023-08-03 05:47:15 +0000 Commit: Kevin Bowling CommitDate: 2023-08-10 00:27:12 +0000 e1000: Automask TSO on lem(4)/em(4) 10/100 Ethernet This feature masks TSO capability when a link comes up at 10 or 100mbit due to errata on the chips. This behavior matches previous versions of FreeBSD as well as NetBSD and Linux. A tunable, hw.em.unsupported_tso may be set if the admin desires to disabling automasking and configure TSO settings manually. Differential Revision: https://reviews.freebsd.org/D41170 (cherry picked from commit 2ddf24f8f52559b08da700ab044c33d0a9ed5601) --- sys/dev/e1000/if_em.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++-- sys/dev/e1000/if_em.h | 1 + 2 files changed, 49 insertions(+), 2 deletions(-) diff --git a/sys/dev/e1000/if_em.c b/sys/dev/e1000/if_em.c index 88738e5f0a08..bf5fec7e9e3a 100644 --- a/sys/dev/e1000/if_em.c +++ b/sys/dev/e1000/if_em.c @@ -330,6 +330,7 @@ static int em_sysctl_debug_info(SYSCTL_HANDLER_ARGS); static int em_get_rs(SYSCTL_HANDLER_ARGS); static void em_print_debug_info(struct e1000_softc *); static int em_is_valid_ether_addr(u8 *); +static bool em_automask_tso(if_ctx_t); static int em_sysctl_int_delay(SYSCTL_HANDLER_ARGS); static void em_add_int_delay_sysctl(struct e1000_softc *, const char *, const char *, struct em_int_delay_info *, int, int); @@ -535,6 +536,10 @@ static int em_smart_pwr_down = false; SYSCTL_INT(_hw_em, OID_AUTO, smart_pwr_down, CTLFLAG_RDTUN, &em_smart_pwr_down, 0, "Set to true to leave smart power down enabled on newer adapters"); +static bool em_unsupported_tso = false; +SYSCTL_BOOL(_hw_em, OID_AUTO, unsupported_tso, CTLFLAG_RDTUN, + &em_unsupported_tso, 0, "Allow unsupported em(4) TSO configurations"); + /* Controls whether promiscuous also shows bad packets */ static int em_debug_sbp = false; SYSCTL_INT(_hw_em, OID_AUTO, sbp, CTLFLAG_RDTUN, &em_debug_sbp, 0, @@ -939,6 +944,8 @@ em_if_attach_pre(if_ctx_t ctx) scctx->isc_tx_tso_size_max = EM_TSO_SIZE; scctx->isc_tx_tso_segsize_max = EM_TSO_SEG_SIZE; scctx->isc_capabilities = scctx->isc_capenable = LEM_CAPS; + if (em_unsupported_tso) + scctx->isc_capabilities |= IFCAP_TSO6; /* * For LEM-class devices, don't enable IFCAP_{TSO4,VLAN_HWTSO} * by default as we don't have workarounds for all associated @@ -1081,6 +1088,9 @@ em_if_attach_pre(if_ctx_t ctx) goto err_late; } + /* Clear the IFCAP_TSO auto mask */ + sc->tso_automasked = 0; + /* Check SOL/IDER usage */ if (e1000_check_reset_block(hw)) device_printf(dev, "PHY reset is blocked" @@ -1819,6 +1829,7 @@ em_if_update_admin_status(if_ctx_t ctx) struct e1000_hw *hw = &sc->hw; device_t dev = iflib_get_dev(ctx); u32 link_check, thstat, ctrl; + bool automasked = false; link_check = thstat = ctrl = 0; /* Get the cached link value or read phy for real */ @@ -1896,8 +1907,14 @@ em_if_update_admin_status(if_ctx_t ctx) sc->flags |= IGB_MEDIA_RESET; em_reset(ctx); } - iflib_link_state_change(ctx, LINK_STATE_UP, - IF_Mbps(sc->link_speed)); + /* Only do TSO on gigabit Ethernet for older chips due to errata */ + if (hw->mac.type < igb_mac_min) + automasked = em_automask_tso(ctx); + + /* Automasking resets the interface, so don't mark it up yet */ + if (!automasked) + iflib_link_state_change(ctx, LINK_STATE_UP, + IF_Mbps(sc->link_speed)); } else if (!link_check && (sc->link_active == 1)) { sc->link_speed = 0; sc->link_duplex = 0; @@ -3878,6 +3895,35 @@ em_is_valid_ether_addr(u8 *addr) return (true); } +static bool +em_automask_tso(if_ctx_t ctx) +{ + struct e1000_softc *sc = iflib_get_softc(ctx); + if_softc_ctx_t scctx = iflib_get_softc_ctx(ctx); + if_t ifp = iflib_get_ifp(ctx); + + if (!em_unsupported_tso && sc->link_speed && + sc->link_speed != SPEED_1000 && scctx->isc_capenable & IFCAP_TSO) { + device_printf(sc->dev, "Disabling TSO for 10/100 Ethernet.\n"); + sc->tso_automasked = scctx->isc_capenable & IFCAP_TSO; + scctx->isc_capenable &= ~IFCAP_TSO; + if_setcapenablebit(ifp, 0, IFCAP_TSO); + /* iflib_init_locked handles ifnet hwassistbits */ + iflib_request_reset(ctx); + return true; + } else if (sc->link_speed == SPEED_1000 && sc->tso_automasked) { + device_printf(sc->dev, "Re-enabling TSO for GbE.\n"); + scctx->isc_capenable |= sc->tso_automasked; + if_setcapenablebit(ifp, sc->tso_automasked, 0); + sc->tso_automasked = 0; + /* iflib_init_locked handles ifnet hwassistbits */ + iflib_request_reset(ctx); + return true; + } + + return false; +} + /* ** Parse the interface capabilities with regard ** to both system management and wake-on-lan for diff --git a/sys/dev/e1000/if_em.h b/sys/dev/e1000/if_em.h index 8c5abf5b48cb..d3c3bc0da097 100644 --- a/sys/dev/e1000/if_em.h +++ b/sys/dev/e1000/if_em.h @@ -509,6 +509,7 @@ struct e1000_softc { u32 smartspeed; u32 dmac; int link_mask; + int tso_automasked; u64 que_mask; From nobody Thu Aug 10 00:28:13 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLnp60Hxwz4mW9v; Thu, 10 Aug 2023 00:28:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLnp56ZXZz4Yjd; Thu, 10 Aug 2023 00:28:13 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691627294; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FYnYoovI0g0HQJY+2rvjr8CbaSi+KkmakJTZy5VXt8I=; b=vz0gajZvlQtiogYavJDKxxbdNrDl1PHiMidgqlHfexDn67y8pSfBlKHJ9KICcCXo7kI8R6 AH5Pka3lO+yKUEOMpq3TmxDL/seqJI2Xg7OKXWW66Mnhd8wFAdBlg0EL5TTo9N0sT/L/CZ DqyWX8Ki/5pKbo4zkkn4laylNwSr2rD9nZjFxVR8iyQM5q9h4hbwXUetOEZYVxC5TmP8VK 1/gPuXcotDDPa7N3DLdmhZIQSx53bxVbJmN4ByfdRW9ed22a2GciorU5R3Jq0u8eThaYIk I9s6IXu/KmaF6BHcnyBteKzaDgS/9juKknFltNQ46ffjrk3WDNuM+lSIMJyu9A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691627293; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=FYnYoovI0g0HQJY+2rvjr8CbaSi+KkmakJTZy5VXt8I=; b=RlcxEYsqHvXZbOk9RPYkDMe/49gOLEKecKdzKrVhfHsInvitq6eTMNoy0VuKuQxV058PF9 /+nULLYh69jxcfUKEDe+UCvQvpdSlrWuI80tBHLhu7DSH/nML4Epfeg/pn/9W/190PjxEY QJ6RiM4n3UgNFjdTOWU0Ql0NP7yycCWFUqbtgSNp+X9YWmSxOivRC5FNrN4/zSpN47qSLj kRyebvhDgWzeDx7SUz0wDIIgCJlobNyZYQIgv7c7BMTi/ivrlwpk7RxXR1fnOD5N/+Vj2m EdmjAKmei6rwTX87qEj4ZVMSOwPCU94OHOSemUMZvlqvsZWgTiugn/HiL1vx+g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691627293; a=rsa-sha256; cv=none; b=eu//GjyEZvHadHX0F++2M4Nt4RZ0XkJ26VgBS8lIUH7iSppe1ftJRAY4OPHtQeZ9JzQviN rsxEnWweWWMquQHBUNK72dpR65t6sJN6dyfdFI0TKIDV/DHecl8OvyP1HQa/amjkj5VtZr p1tJOvJ7pv0ghxhhIlKKQFYTFJg7NSVhqiY1K2NMlSMQDgD8fCYt8l8e8Xj75GNVxdgTHy h9xSV8cwhoSeg/bcT79sqobWzMwMRXyJha5/A3tvtWxOA7FhxaAeEaPXdhYgLTuyvCqI3w +8dWDTDLjfIobuUei2GXw5Q0uMHPjwXr2/9RprUHGEFvM9QnfofDtnWHThW9fA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLnp55dMKzcGy; Thu, 10 Aug 2023 00:28:13 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A0SDDp025579; Thu, 10 Aug 2023 00:28:13 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A0SD4H025576; Thu, 10 Aug 2023 00:28:13 GMT (envelope-from git) Date: Thu, 10 Aug 2023 00:28:13 GMT Message-Id: <202308100028.37A0SD4H025576@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: f5255126772e - stable/13 - ixgbe: Warn once for unsupported SFPs List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: f5255126772e3c03442220939c7d2b12b12c2a3a Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=f5255126772e3c03442220939c7d2b12b12c2a3a commit f5255126772e3c03442220939c7d2b12b12c2a3a Author: Kevin Bowling AuthorDate: 2023-08-03 05:59:37 +0000 Commit: Kevin Bowling CommitDate: 2023-08-10 00:27:31 +0000 ixgbe: Warn once for unsupported SFPs The driver belabors the point about unsupported SFPs, printing multiple times on link up. Limit it to once. Reviewed by: markj Differential Revision: https://reviews.freebsd.org/D39785 (cherry picked from commit a93409fc3cd7b4d4aeb35d7ef27f84c1ae13a42d) --- sys/dev/ixgbe/ixgbe_phy.c | 25 ++++++++++++++++--------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/sys/dev/ixgbe/ixgbe_phy.c b/sys/dev/ixgbe/ixgbe_phy.c index eef1d40448d3..1ab4f057f810 100644 --- a/sys/dev/ixgbe/ixgbe_phy.c +++ b/sys/dev/ixgbe/ixgbe_phy.c @@ -1302,6 +1302,7 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) u8 cable_tech = 0; u8 cable_spec = 0; u16 enforce_sfp = 0; + static bool warned_once = false; DEBUGFUNC("ixgbe_identify_sfp_module_generic"); @@ -1536,13 +1537,16 @@ s32 ixgbe_identify_sfp_module_generic(struct ixgbe_hw *hw) status = IXGBE_SUCCESS; } else { if (hw->allow_unsupported_sfp == true) { - EWARN(hw, - "WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. " - "Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. " - "Intel Corporation is not responsible for any harm caused by using untested modules.\n"); + if (!warned_once) + EWARN(hw, + "WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. " + "Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. " + "Intel Corporation is not responsible for any harm caused by using untested modules.\n"); + warned_once = true; status = IXGBE_SUCCESS; } else { - DEBUGOUT("SFP+ module not supported\n"); + DEBUGOUT + ("SFP+ module not supported\n"); hw->phy.type = ixgbe_phy_sfp_unsupported; status = IXGBE_ERR_SFP_NOT_SUPPORTED; @@ -1647,6 +1651,7 @@ s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw) u8 cable_length = 0; u8 device_tech = 0; bool active_cable = false; + static bool warned_once = false; DEBUGFUNC("ixgbe_identify_qsfp_module_generic"); @@ -1792,10 +1797,12 @@ s32 ixgbe_identify_qsfp_module_generic(struct ixgbe_hw *hw) status = IXGBE_SUCCESS; } else { if (hw->allow_unsupported_sfp == true) { - EWARN(hw, - "WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. " - "Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. " - "Intel Corporation is not responsible for any harm caused by using untested modules.\n"); + if (!warned_once) + EWARN(hw, + "WARNING: Intel (R) Network Connections are quality tested using Intel (R) Ethernet Optics. " + "Using untested modules is not supported and may cause unstable operation or damage to the module or the adapter. " + "Intel Corporation is not responsible for any harm caused by using untested modules.\n"); + warned_once = true; status = IXGBE_SUCCESS; } else { DEBUGOUT("QSFP module not supported\n"); From nobody Thu Aug 10 00:28:14 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLnp710jGz4mWWR; Thu, 10 Aug 2023 00:28:15 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLnp6745qz4YgH; Thu, 10 Aug 2023 00:28:14 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691627295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bUyVK5dlEthTojMHLHMzpkaFeRWyLENKqwL+fx7b8dc=; b=HHoPczMM8mLAgAoJ2XclwWu+1VpL2LNBCxZtWoV+eh2dKKkNfUREtO9xmp6udpTFkxuMBJ tWZaYuPbXoMTIWBYKCHsdxPyZEY5S/GM+B0l1ZgVR7bQX9VlU/QC7DW1ohH3RfnMHUCdmo pJ8VkF5TSElqBXpWvaFrMHJGPZA1IyKLu6S+Z2UhtuuvEeIibYTsi3MTLpB3p6TRkT9YPE rmHwC5En+jBsbEsCuJcjuF9iKVUfTC/FvwdTXyfYyEzI/+wGdx7RaLN0GVNONW3oV/J1xD i8AULKbD1p92na+o/5FkslpTiC8weYGl3SslkjrTb9qpNUy524IuAuz+SWrj5Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691627295; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bUyVK5dlEthTojMHLHMzpkaFeRWyLENKqwL+fx7b8dc=; b=lxNN+BHF8Ol4AmcKDXbe+sD7CTJWu3HsREMXDQA4I62FgTP9uCJSnOcL3yM6UUE0dtfJSt 6j7spd6AXQa2J/IdYrGIJpggIGgj24xqj1C8W1iUxqFqhbPyHB+DxrywJGGc/7QoMuaiRS YETcpRnSYr9J5bM0s4qHsXlTzCR1I8aV01G0uNC8inpxlCWYuRHEwq+Z8nHm8HQUUdeTCR WfzIMzUqZ7VdxYarUEvbQ2qetWhn0XNt83j+eX0HNQz2EPZEGm09DIIQnLe1pur1W5oWqy qu+ZgNHAk3rbxydeeDR3E5lR92lsX+ZEY2MHgw4JYh1Qjcs8gZhuvB92A4WpzA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691627295; a=rsa-sha256; cv=none; b=iQSBh2ckCOiZpRYqrMLbxX2LT8/v3NrBFRMzcUKSCL79D/fY3tdNqoQtuh9e/MBhmFNCf5 GlnL4KY4ygj1RPH/weyALn8bNwIrI/4EqCWRK6Xr3YukeP15dXXFlT74tOsZmt4MlzWfkA OTa2RM/bdP5/JjkIz0E9tPbb0UvQHoigmqcQkFXjgb89ZZjVScPunBaDWLaCrBpLV8oAa0 xrmUdlMlNVwbQDKEfQovF2GTmHlEfjzlxxYPd9rDsH+na1YDvkow3Yu7GsHJr2M+6OIfk2 TS1YwvqNM453L6yPmIRMdlSyqJXkFgb+KmEw8UpeTh0wbkEDl7QpXZlEtOWNTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLnp667QGzcKM; Thu, 10 Aug 2023 00:28:14 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A0SEc1025627; Thu, 10 Aug 2023 00:28:14 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A0SENd025624; Thu, 10 Aug 2023 00:28:14 GMT (envelope-from git) Date: Thu, 10 Aug 2023 00:28:14 GMT Message-Id: <202308100028.37A0SENd025624@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kevin Bowling Subject: git: fd2b36319c1f - stable/13 - ixv: Separate VFTA table for each interface List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kbowling X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: fd2b36319c1fee3ac8f914548705cfc0a79011d9 Auto-Submitted: auto-generated The branch stable/13 has been updated by kbowling: URL: https://cgit.FreeBSD.org/src/commit/?id=fd2b36319c1fee3ac8f914548705cfc0a79011d9 commit fd2b36319c1fee3ac8f914548705cfc0a79011d9 Author: Yuichiro Naito AuthorDate: 2023-08-03 20:36:21 +0000 Commit: Kevin Bowling CommitDate: 2023-08-10 00:27:45 +0000 ixv: Separate VFTA table for each interface The vlan setting is independent for each interface. Use VFTA table in 'struct ixgbe_softc' that is already defined. This pull request fixes following bug scenario. create ixv0.10 create ixv1.10 destroy ixv1.10 create ixv0.11 ixv0.10 no longer receives vlan 10 packets. In this case, destroying ixv1.10 affects to ixv0. Pull Request: https://github.com/freebsd/freebsd-src/pull/774 (cherry picked from commit 61a8231d152c38ac96b697ea3ca8ff220f3aa536) --- sys/dev/ixgbe/if_ixv.c | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/sys/dev/ixgbe/if_ixv.c b/sys/dev/ixgbe/if_ixv.c index 813a8d5fc3ed..5bd71ab2b5eb 100644 --- a/sys/dev/ixgbe/if_ixv.c +++ b/sys/dev/ixgbe/if_ixv.c @@ -198,12 +198,6 @@ TUNABLE_INT("hw.ixv.flow_control", &ixv_flow_control); static int ixv_header_split = false; TUNABLE_INT("hw.ixv.hdr_split", &ixv_header_split); -/* - * Shadow VFTA table, this is needed because - * the real filter table gets cleared during - * a soft reset and we need to repopulate it. - */ -static u32 ixv_shadow_vfta[IXGBE_VFTA_SIZE]; extern struct if_txrx ixgbe_txrx; static struct if_shared_ctx ixv_sctx_init = { @@ -1541,9 +1535,9 @@ ixv_setup_vlan_support(if_ctx_t ctx) * we need to repopulate it now. */ for (int i = 0; i < IXGBE_VFTA_SIZE; i++) { - if (ixv_shadow_vfta[i] == 0) + if (sc->shadow_vfta[i] == 0) continue; - vfta = ixv_shadow_vfta[i]; + vfta = sc->shadow_vfta[i]; /* * Reconstruct the vlan id's * based on the bits set in each @@ -1579,7 +1573,7 @@ ixv_if_register_vlan(if_ctx_t ctx, u16 vtag) index = (vtag >> 5) & 0x7F; bit = vtag & 0x1F; - ixv_shadow_vfta[index] |= (1 << bit); + sc->shadow_vfta[index] |= (1 << bit); ++sc->num_vlans; } /* ixv_if_register_vlan */ @@ -1597,7 +1591,7 @@ ixv_if_unregister_vlan(if_ctx_t ctx, u16 vtag) index = (vtag >> 5) & 0x7F; bit = vtag & 0x1F; - ixv_shadow_vfta[index] &= ~(1 << bit); + sc->shadow_vfta[index] &= ~(1 << bit); --sc->num_vlans; } /* ixv_if_unregister_vlan */ From nobody Thu Aug 10 02:58:28 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLs7S6WGfz4pvvY; Thu, 10 Aug 2023 02:58:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLs7S5bHfz3HqP; Thu, 10 Aug 2023 02:58:28 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n+9EQpp7U5lgo7UV39yobi+O9E97hxAI06Jf3K7WlYE=; b=wqoryHRcDtEFmTTG15ikHZhQB81NGYP1kjHMOv3N8XRcFR1Gv3VFRSflvaNJre7L+xEFrB /ebDmhlxO3N/zIbiOu4uIN3BQ++XRHQ+z+SE5MblBpPKq+UoJcBScu7qPw2X9DUn6QZE2l ZqUlyZ4YBpJsklxvCIsJafni9f+8aRN+TAeDPI//DS28VPVrZulrefJ5ImrHfw4NkCrW7u gefzg5CtZqXIdqkERbSqHzZ7K6K+wot8hT2YD0T7Gi06ZSpwmmMeQXBIrhKhFri7et7zrZ 47VQDT+QlHsKK39K7zU/FGYRA6jmKS70sh0ANU5/UWP6Dlca0K9t7UO67JUY8A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636308; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=n+9EQpp7U5lgo7UV39yobi+O9E97hxAI06Jf3K7WlYE=; b=BXHL4NwVB8kA4/PZzyjX/6anx8XssIwwo+7pa8txKNuCokxgQDTuprVlc1DJ8uj2fjCWqg +lLUKVjjrklmESd22YrukMtHYXhgqvfX2hjji3s3HUXC5rKCnVh6EJ41CzCil4ndw6tMF1 k4uVlNP2IQt/QwBMLC5fYBrEcN38JzbKhIQJxZdLTc7Ifom6+6tpSyugBxhkozQQ/JCW7K UX/d/lTElVtK6lHGUMR2HJwhFYB1hnUS9tnHIj8pk5s9DZ0vc+29Z6bEcUG31TDdMPVQlM 4ZtGpLymh6wiP+zgUzIgysmprBAsfRazVt+1ZQqvvdT95KJSUw21hP/JgbvA3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691636308; a=rsa-sha256; cv=none; b=AeDzxE0gV9EiQ0FMMKwLaw1OH/xpEtuxAa4hljhQ2cAfAYiR7clejWGvRROXKNEMuLkYiW TUbLu4Ac1bZArJq7efL6EDkWLeUqOvTkaseqX2VH+oiYjXB+OGXipc9g1rmUomOvMDdf7v M8lroHhiU0T4NPBb1mQmRhsrN+XFSnigDksBQWCloOeZkMwZenjuVHrsFUqJqq0eIyy6WE BClXpuzh4KXA9c2clbNxui3cAdfxLs6jb7oP41IKPMYYD/0Qo0U7NZggaR6fips1PXqMSJ jp5gd04KiSLitPuoEKP/7UYREF/i7L5bs5ZqXqzCBU9tuVq3mrVGBnH2CRgKbA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLs7S4RN3zgjc; Thu, 10 Aug 2023 02:58:28 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A2wST0074239; Thu, 10 Aug 2023 02:58:28 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A2wSqK074236; Thu, 10 Aug 2023 02:58:28 GMT (envelope-from git) Date: Thu, 10 Aug 2023 02:58:28 GMT Message-Id: <202308100258.37A2wSqK074236@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 1d488ee57aa1 - stable/13 - Cleanup debugging code in libm List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1d488ee57aa193bb10337972c9ced440017806de Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=1d488ee57aa193bb10337972c9ced440017806de commit 1d488ee57aa193bb10337972c9ced440017806de Author: Steve Kargl AuthorDate: 2023-07-31 22:32:54 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-10 02:57:29 +0000 Cleanup debugging code in libm PR: 272765 (cherry picked from commit c66a499e037efd268a744e487e7d0c45a4944a9b) --- lib/msun/ld128/s_expl.c | 28 +++++------ lib/msun/ld128/s_logl.c | 24 ++++----- lib/msun/ld80/s_expl.c | 28 +++++------ lib/msun/ld80/s_logl.c | 26 +++++----- lib/msun/src/math_private.h | 115 ++------------------------------------------ 5 files changed, 49 insertions(+), 172 deletions(-) diff --git a/lib/msun/ld128/s_expl.c b/lib/msun/ld128/s_expl.c index 5fc43802b950..0274a8f302db 100644 --- a/lib/msun/ld128/s_expl.c +++ b/lib/msun/ld128/s_expl.c @@ -65,8 +65,6 @@ expl(long double x) int k; uint16_t hx, ix; - DOPRINT_START(&x); - /* Filter out exceptional cases. */ u.e = x; hx = u.xbits.expsign; @@ -74,15 +72,15 @@ expl(long double x) if (ix >= BIAS + 13) { /* |x| >= 8192 or x is NaN */ if (ix == BIAS + LDBL_MAX_EXP) { if (hx & 0x8000) /* x is -Inf or -NaN */ - RETURNP(-1 / x); - RETURNP(x + x); /* x is +Inf or +NaN */ + RETURNF(-1 / x); + RETURNF(x + x); /* x is +Inf or +NaN */ } if (x > o_threshold) - RETURNP(huge * huge); + RETURNF(huge * huge); if (x < u_threshold) - RETURNP(tiny * tiny); + RETURNF(tiny * tiny); } else if (ix < BIAS - 114) { /* |x| < 0x1p-114 */ - RETURN2P(1, x); /* 1 with inexact iff x != 0 */ + RETURNF(1 + x); /* 1 with inexact iff x != 0 */ } ENTERI(); @@ -210,8 +208,6 @@ expm1l(long double x) int k, n, n2; uint16_t hx, ix; - DOPRINT_START(&x); - /* Filter out exceptional cases. */ u.e = x; hx = u.xbits.expsign; @@ -219,11 +215,11 @@ expm1l(long double x) if (ix >= BIAS + 7) { /* |x| >= 128 or x is NaN */ if (ix == BIAS + LDBL_MAX_EXP) { if (hx & 0x8000) /* x is -Inf or -NaN */ - RETURNP(-1 / x - 1); - RETURNP(x + x); /* x is +Inf or +NaN */ + RETURNF(-1 / x - 1); + RETURNF(x + x); /* x is +Inf or +NaN */ } if (x > o_threshold) - RETURNP(huge * huge); + RETURNF(huge * huge); /* * expm1l() never underflows, but it must avoid * unrepresentable large negative exponents. We used a @@ -232,7 +228,7 @@ expm1l(long double x) * in the same way as large ones here. */ if (hx & 0x8000) /* x <= -128 */ - RETURN2P(tiny, -1); /* good for x < -114ln2 - eps */ + RETURNF(tiny - 1); /* good for x < -114ln2 - eps */ } ENTERI(); @@ -244,7 +240,7 @@ expm1l(long double x) if (x < T3) { if (ix < BIAS - 113) { /* |x| < 0x1p-113 */ /* x (rounded) with inexact if x != 0: */ - RETURNPI(x == 0 ? x : + RETURNI(x == 0 ? x : (0x1p200 * x + fabsl(x)) * 0x1p-200); } q = x * x2 * C3 + x2 * x2 * (C4 + x * (C5 + x * (C6 + @@ -265,9 +261,9 @@ expm1l(long double x) hx2_hi = x_hi * x_hi / 2; hx2_lo = x_lo * (x + x_hi) / 2; if (ix >= BIAS - 7) - RETURN2PI(hx2_hi + x_hi, hx2_lo + x_lo + q); + RETURNI((hx2_hi + x_hi) + (hx2_lo + x_lo + q)); else - RETURN2PI(x, hx2_lo + q + hx2_hi); + RETURNI(x + (hx2_lo + q + hx2_hi)); } /* Reduce x to (k*ln2 + endpoint[n2] + r1 + r2). */ diff --git a/lib/msun/ld128/s_logl.c b/lib/msun/ld128/s_logl.c index 40a22c0f1a8c..bc538840a760 100644 --- a/lib/msun/ld128/s_logl.c +++ b/lib/msun/ld128/s_logl.c @@ -573,24 +573,23 @@ log1pl(long double x) int i, k; int16_t ax, hx; - DOPRINT_START(&x); EXTRACT_LDBL128_WORDS(hx, lx, llx, x); if (hx < 0x3fff) { /* x < 1, or x neg NaN */ ax = hx & 0x7fff; if (ax >= 0x3fff) { /* x <= -1, or x neg NaN */ if (ax == 0x3fff && (lx | llx) == 0) - RETURNP(-1 / zero); /* log1p(-1) = -Inf */ + RETURNF(-1 / zero); /* log1p(-1) = -Inf */ /* log1p(x < 1, or x NaN) = qNaN: */ - RETURNP((x - x) / (x - x)); + RETURNF((x - x) / (x - x)); } if (ax <= 0x3f8d) { /* |x| < 2**-113 */ if ((int)x == 0) - RETURNP(x); /* x with inexact if x != 0 */ + RETURNF(x); /* x with inexact if x != 0 */ } f_hi = 1; f_lo = x; } else if (hx >= 0x7fff) { /* x +Inf or non-neg NaN */ - RETURNP(x + x); /* log1p(Inf or NaN) = Inf or qNaN */ + RETURNF(x + x); /* log1p(Inf or NaN) = Inf or qNaN */ } else if (hx < 0x40e1) { /* 1 <= x < 2**226 */ f_hi = x; f_lo = 1; @@ -669,7 +668,7 @@ log1pl(long double x) #endif _3sumF(val_hi, val_lo, F_hi(i) + dk * ln2_hi); - RETURN2PI(val_hi, val_lo); + RETURNI(val_hi + val_lo); } #ifdef STRUCT_RETURN @@ -680,7 +679,6 @@ logl(long double x) struct ld r; ENTERI(); - DOPRINT_START(&x); k_logl(x, &r); RETURNSPI(&r); } @@ -708,15 +706,13 @@ log10l(long double x) long double hi, lo; ENTERI(); - DOPRINT_START(&x); k_logl(x, &r); if (!r.lo_set) - RETURNPI(r.hi); + RETURNI(r.hi); _2sumF(r.hi, r.lo); hi = (float)r.hi; lo = r.lo + (r.hi - hi); - RETURN2PI(invln10_hi * hi, - invln10_lo_plus_hi * lo + invln10_lo * hi); + RETURNI(invln10_hi * hi + (invln10_lo_plus_hi * lo + invln10_lo * hi)); } long double @@ -726,15 +722,13 @@ log2l(long double x) long double hi, lo; ENTERI(); - DOPRINT_START(&x); k_logl(x, &r); if (!r.lo_set) - RETURNPI(r.hi); + RETURNI(r.hi); _2sumF(r.hi, r.lo); hi = (float)r.hi; lo = r.lo + (r.hi - hi); - RETURN2PI(invln2_hi * hi, - invln2_lo_plus_hi * lo + invln2_lo * hi); + RETURNI(invln2_hi * hi + (invln2_lo_plus_hi * lo + invln2_lo * hi)); } #endif /* STRUCT_RETURN */ diff --git a/lib/msun/ld80/s_expl.c b/lib/msun/ld80/s_expl.c index 0571377a3f8d..a41de4d6d1d8 100644 --- a/lib/msun/ld80/s_expl.c +++ b/lib/msun/ld80/s_expl.c @@ -77,8 +77,6 @@ expl(long double x) int k; uint16_t hx, ix; - DOPRINT_START(&x); - /* Filter out exceptional cases. */ u.e = x; hx = u.xbits.expsign; @@ -86,15 +84,15 @@ expl(long double x) if (ix >= BIAS + 13) { /* |x| >= 8192 or x is NaN */ if (ix == BIAS + LDBL_MAX_EXP) { if (hx & 0x8000) /* x is -Inf, -NaN or unsupported */ - RETURNP(-1 / x); - RETURNP(x + x); /* x is +Inf, +NaN or unsupported */ + RETURNF(-1 / x); + RETURNF(x + x); /* x is +Inf, +NaN or unsupported */ } if (x > o_threshold) - RETURNP(huge * huge); + RETURNF(huge * huge); if (x < u_threshold) - RETURNP(tiny * tiny); + RETURNF(tiny * tiny); } else if (ix < BIAS - 75) { /* |x| < 0x1p-75 (includes pseudos) */ - RETURN2P(1, x); /* 1 with inexact iff x != 0 */ + RETURNF(1 + x); /* 1 with inexact iff x != 0 */ } ENTERI(); @@ -168,8 +166,6 @@ expm1l(long double x) int k, n, n2; uint16_t hx, ix; - DOPRINT_START(&x); - /* Filter out exceptional cases. */ u.e = x; hx = u.xbits.expsign; @@ -177,11 +173,11 @@ expm1l(long double x) if (ix >= BIAS + 6) { /* |x| >= 64 or x is NaN */ if (ix == BIAS + LDBL_MAX_EXP) { if (hx & 0x8000) /* x is -Inf, -NaN or unsupported */ - RETURNP(-1 / x - 1); - RETURNP(x + x); /* x is +Inf, +NaN or unsupported */ + RETURNF(-1 / x - 1); + RETURNF(x + x); /* x is +Inf, +NaN or unsupported */ } if (x > o_threshold) - RETURNP(huge * huge); + RETURNF(huge * huge); /* * expm1l() never underflows, but it must avoid * unrepresentable large negative exponents. We used a @@ -190,7 +186,7 @@ expm1l(long double x) * in the same way as large ones here. */ if (hx & 0x8000) /* x <= -64 */ - RETURN2P(tiny, -1); /* good for x < -65ln2 - eps */ + RETURNF(tiny - 1); /* good for x < -65ln2 - eps */ } ENTERI(); @@ -198,7 +194,7 @@ expm1l(long double x) if (T1 < x && x < T2) { if (ix < BIAS - 74) { /* |x| < 0x1p-74 (includes pseudos) */ /* x (rounded) with inexact if x != 0: */ - RETURNPI(x == 0 ? x : + RETURNI(x == 0 ? x : (0x1p100 * x + fabsl(x)) * 0x1p-100); } @@ -219,9 +215,9 @@ expm1l(long double x) hx2_hi = x_hi * x_hi / 2; hx2_lo = x_lo * (x + x_hi) / 2; if (ix >= BIAS - 7) - RETURN2PI(hx2_hi + x_hi, hx2_lo + x_lo + q); + RETURNI((hx2_hi + x_hi) + (hx2_lo + x_lo + q)); else - RETURN2PI(x, hx2_lo + q + hx2_hi); + RETURNI(x + (hx2_lo + q + hx2_hi)); } /* Reduce x to (k*ln2 + endpoint[n2] + r1 + r2). */ diff --git a/lib/msun/ld80/s_logl.c b/lib/msun/ld80/s_logl.c index dac5bfb9e25e..abe778249549 100644 --- a/lib/msun/ld80/s_logl.c +++ b/lib/msun/ld80/s_logl.c @@ -560,24 +560,23 @@ log1pl(long double x) int i, k; int16_t ax, hx; - DOPRINT_START(&x); EXTRACT_LDBL80_WORDS(hx, lx, x); if (hx < 0x3fff) { /* x < 1, or x neg NaN */ ax = hx & 0x7fff; if (ax >= 0x3fff) { /* x <= -1, or x neg NaN */ if (ax == 0x3fff && lx == 0x8000000000000000ULL) - RETURNP(-1 / zero); /* log1p(-1) = -Inf */ + RETURNF(-1 / zero); /* log1p(-1) = -Inf */ /* log1p(x < 1, or x [pseudo-]NaN) = qNaN: */ - RETURNP((x - x) / (x - x)); + RETURNF((x - x) / (x - x)); } if (ax <= 0x3fbe) { /* |x| < 2**-64 */ if ((int)x == 0) - RETURNP(x); /* x with inexact if x != 0 */ + RETURNF(x); /* x with inexact if x != 0 */ } f_hi = 1; f_lo = x; } else if (hx >= 0x7fff) { /* x +Inf or non-neg NaN */ - RETURNP(x + x); /* log1p(Inf or NaN) = Inf or qNaN */ + RETURNF(x + x); /* log1p(Inf or NaN) = Inf or qNaN */ /* log1p(pseudo-Inf) = qNaN */ /* log1p(pseudo-NaN) = qNaN */ /* log1p(unnormal) = qNaN */ @@ -658,7 +657,7 @@ log1pl(long double x) #endif _3sumF(val_hi, val_lo, F_hi(i) + dk * ln2_hi); - RETURN2PI(val_hi, val_lo); + RETURNI(val_hi + val_lo); } #ifdef STRUCT_RETURN @@ -669,7 +668,6 @@ logl(long double x) struct ld r; ENTERI(); - DOPRINT_START(&x); k_logl(x, &r); RETURNSPI(&r); } @@ -690,15 +688,14 @@ log10l(long double x) long double hi, lo; ENTERI(); - DOPRINT_START(&x); k_logl(x, &r); if (!r.lo_set) - RETURNPI(r.hi); + RETURNI(r.hi); _2sumF(r.hi, r.lo); hi = (float)r.hi; lo = r.lo + (r.hi - hi); - RETURN2PI(invln10_hi * hi, - invln10_lo_plus_hi * lo + invln10_lo * hi); + RETURNI(invln10_hi * hi + + (invln10_lo_plus_hi * lo + invln10_lo * hi)); } long double @@ -708,15 +705,14 @@ log2l(long double x) long double hi, lo; ENTERI(); - DOPRINT_START(&x); k_logl(x, &r); if (!r.lo_set) - RETURNPI(r.hi); + RETURNI(r.hi); _2sumF(r.hi, r.lo); hi = (float)r.hi; lo = r.lo + (r.hi - hi); - RETURN2PI(invln2_hi * hi, - invln2_lo_plus_hi * lo + invln2_lo * hi); + RETURNI(invln2_hi * hi + + (invln2_lo_plus_hi * lo + invln2_lo * hi)); } #endif /* STRUCT_RETURN */ diff --git a/lib/msun/src/math_private.h b/lib/msun/src/math_private.h index 33f790c13a6b..429b9c70b215 100644 --- a/lib/msun/src/math_private.h +++ b/lib/msun/src/math_private.h @@ -698,127 +698,22 @@ irintl(long double x) #endif #endif -/* Write a pari script to test things externally. */ -#ifdef DOPRINT -#include - -#ifndef DOPRINT_SWIZZLE -#define DOPRINT_SWIZZLE 0 -#endif - -#ifdef DOPRINT_LD80 - -#define DOPRINT_START(xp) do { \ - uint64_t __lx; \ - uint16_t __hx; \ - \ - /* Hack to give more-problematic args. */ \ - EXTRACT_LDBL80_WORDS(__hx, __lx, *xp); \ - __lx ^= DOPRINT_SWIZZLE; \ - INSERT_LDBL80_WORDS(*xp, __hx, __lx); \ - printf("x = %.21Lg; ", (long double)*xp); \ -} while (0) -#define DOPRINT_END1(v) \ - printf("y = %.21Lg; z = 0; show(x, y, z);\n", (long double)(v)) -#define DOPRINT_END2(hi, lo) \ - printf("y = %.21Lg; z = %.21Lg; show(x, y, z);\n", \ - (long double)(hi), (long double)(lo)) - -#elif defined(DOPRINT_D64) - -#define DOPRINT_START(xp) do { \ - uint32_t __hx, __lx; \ - \ - EXTRACT_WORDS(__hx, __lx, *xp); \ - __lx ^= DOPRINT_SWIZZLE; \ - INSERT_WORDS(*xp, __hx, __lx); \ - printf("x = %.21Lg; ", (long double)*xp); \ -} while (0) -#define DOPRINT_END1(v) \ - printf("y = %.21Lg; z = 0; show(x, y, z);\n", (long double)(v)) -#define DOPRINT_END2(hi, lo) \ - printf("y = %.21Lg; z = %.21Lg; show(x, y, z);\n", \ - (long double)(hi), (long double)(lo)) - -#elif defined(DOPRINT_F32) - -#define DOPRINT_START(xp) do { \ - uint32_t __hx; \ - \ - GET_FLOAT_WORD(__hx, *xp); \ - __hx ^= DOPRINT_SWIZZLE; \ - SET_FLOAT_WORD(*xp, __hx); \ - printf("x = %.21Lg; ", (long double)*xp); \ -} while (0) -#define DOPRINT_END1(v) \ - printf("y = %.21Lg; z = 0; show(x, y, z);\n", (long double)(v)) -#define DOPRINT_END2(hi, lo) \ - printf("y = %.21Lg; z = %.21Lg; show(x, y, z);\n", \ - (long double)(hi), (long double)(lo)) - -#else /* !DOPRINT_LD80 && !DOPRINT_D64 (LD128 only) */ - -#ifndef DOPRINT_SWIZZLE_HIGH -#define DOPRINT_SWIZZLE_HIGH 0 -#endif - -#define DOPRINT_START(xp) do { \ - uint64_t __lx, __llx; \ - uint16_t __hx; \ - \ - EXTRACT_LDBL128_WORDS(__hx, __lx, __llx, *xp); \ - __llx ^= DOPRINT_SWIZZLE; \ - __lx ^= DOPRINT_SWIZZLE_HIGH; \ - INSERT_LDBL128_WORDS(*xp, __hx, __lx, __llx); \ - printf("x = %.36Lg; ", (long double)*xp); \ -} while (0) -#define DOPRINT_END1(v) \ - printf("y = %.36Lg; z = 0; show(x, y, z);\n", (long double)(v)) -#define DOPRINT_END2(hi, lo) \ - printf("y = %.36Lg; z = %.36Lg; show(x, y, z);\n", \ - (long double)(hi), (long double)(lo)) - -#endif /* DOPRINT_LD80 */ - -#else /* !DOPRINT */ -#define DOPRINT_START(xp) -#define DOPRINT_END1(v) -#define DOPRINT_END2(hi, lo) -#endif /* DOPRINT */ - -#define RETURNP(x) do { \ - DOPRINT_END1(x); \ - RETURNF(x); \ -} while (0) -#define RETURNPI(x) do { \ - DOPRINT_END1(x); \ - RETURNI(x); \ -} while (0) -#define RETURN2P(x, y) do { \ - DOPRINT_END2((x), (y)); \ - RETURNF((x) + (y)); \ -} while (0) -#define RETURN2PI(x, y) do { \ - DOPRINT_END2((x), (y)); \ - RETURNI((x) + (y)); \ -} while (0) #ifdef STRUCT_RETURN #define RETURNSP(rp) do { \ if (!(rp)->lo_set) \ - RETURNP((rp)->hi); \ - RETURN2P((rp)->hi, (rp)->lo); \ + RETURNF((rp)->hi); \ + RETURNF((rp)->hi + (rp)->lo); \ } while (0) #define RETURNSPI(rp) do { \ if (!(rp)->lo_set) \ - RETURNPI((rp)->hi); \ - RETURN2PI((rp)->hi, (rp)->lo); \ + RETURNI((rp)->hi); \ + RETURNI((rp)->hi + (rp)->lo); \ } while (0) #endif + #define SUM2P(x, y) ({ \ const __typeof (x) __x = (x); \ const __typeof (y) __y = (y); \ - \ - DOPRINT_END2(__x, __y); \ __x + __y; \ }) From nobody Thu Aug 10 02:58:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLs7V0W8Gz4pvvc; Thu, 10 Aug 2023 02:58:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLs7T6cxxz3Hl9; Thu, 10 Aug 2023 02:58:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636310; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0r/6Osx9CjbBTJJT/iK6Vs5bLc5/2ZaRFRfXtz2Mjdo=; b=yCWnf0vE9oE+bIKVcbEK8xz/EfQ1SVVZqoAbI2aJp1sChsGU0J7PGyX7KtZhJjlBfxBtyH wbMJO/teO7HaloF/Y6umj53HdUIp+yKiMJaJHzA/LhE89j97uxbUdvZO3cCsIAV9EcSdC6 8dIdWbf5zKdOoifMMb07qnWwhsiLXpR5ZTQMBY1X2iOXunSuirr9O5jRqmnKcFFj6POhfg Xm7mPvQ9UZt3aeJFgLhaFd8pH98R0VpekfkOuunPp9pOQYAPk7jZmygivvrNW/wcGS3lH0 CMBMEeUP/gDffBn67CC51PW0CPpNJi471KA/8yMkipaOKJYLLwAxq3H6tx+1qg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636309; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0r/6Osx9CjbBTJJT/iK6Vs5bLc5/2ZaRFRfXtz2Mjdo=; b=u6R1uqSmPzt3xgdm97ktVT8dVdC+k3hy8bNeAMnC6PIlBC76X9fDB2j462iqBMlzz0HnNk r22xq2HgDAgr+H4HhWbkpW/VMzU4WLalT4H7CtlvuyxU9MDL4G8YH+0Nlz332Vl+y3hX/I hpsTrtWbpXFV6X6iZnK9qaHJs+akE9ZaFIaBKdD6HaIAUlmdCrlK9WN7fSDqYyw4VM7YMo rcuWwkKmfM6+Dfs2WePsxptYG39YdgJ8njSizx2rKRLSxzOSLXodcrywB3QH63P5S9FtSB odl54vVDRImWSppBmxAJWcoPY43RYenUrDo22T5MDYmYdp960DOmhQhmhR6ViQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691636309; a=rsa-sha256; cv=none; b=XmQ3jwD+VKTIbYpsVIJ9+Wr4W6SSaAScJMqySFM+KDomV39ywzokCyA5TVyy748UotqtOO TlEcM4Cd9pSIa2ei7f9tecQSKWTb8cYxtLFESR6OeQ2mk0dAiRkhSnd1pAzdES2cFKmXkw 67erpafFhJmXw9N62QR7VrbVReGvTI854+CsTAImmCj2eziYCuQHDggm8WsBDo4QEC/ykf Xglc+snkRur46AU/75kER0xdDTuZf0tkpMzWSsIK+ERE1xiA4huFaIEG/in55NG6qDl9Xd Dxw6RRfjc4E/P42ScxB3AGg2MMmiklb8HrBZtKfyCwgCUsZM0kFWuoDxFNvCxg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLs7T5Q39zgVd; Thu, 10 Aug 2023 02:58:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A2wTg5074282; Thu, 10 Aug 2023 02:58:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A2wThC074279; Thu, 10 Aug 2023 02:58:29 GMT (envelope-from git) Date: Thu, 10 Aug 2023 02:58:29 GMT Message-Id: <202308100258.37A2wThC074279@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 6fe5d4d8c3c7 - stable/13 - Fixes for bugs in sinpi/cospi/tanpi List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6fe5d4d8c3c7cf3a2a81f38300766a733029c763 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6fe5d4d8c3c7cf3a2a81f38300766a733029c763 commit 6fe5d4d8c3c7cf3a2a81f38300766a733029c763 Author: Steve Kargl AuthorDate: 2023-07-31 22:34:48 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-10 02:57:29 +0000 Fixes for bugs in sinpi/cospi/tanpi PR: 272742 (cherry picked from commit 2d3b0a687b910c84606e4bc36176945ad5c60406) --- lib/msun/ld128/s_cospil.c | 50 ++++++++++++++++++++---------------------- lib/msun/ld128/s_sinpil.c | 38 ++++++++++++-------------------- lib/msun/ld128/s_tanpil.c | 39 ++++++++++++++++----------------- lib/msun/ld80/s_cospil.c | 22 ++++++------------- lib/msun/ld80/s_sinpil.c | 16 +++----------- lib/msun/ld80/s_tanpil.c | 34 ++++++++++++----------------- lib/msun/src/math_private.h | 53 +++++++++++++++++++++++++++++++++++++++++++++ lib/msun/src/s_cospi.c | 20 +++++------------ lib/msun/src/s_cospif.c | 16 ++++++-------- lib/msun/src/s_sinpi.c | 13 ++--------- lib/msun/src/s_sinpif.c | 10 +++------ lib/msun/src/s_tanpi.c | 41 +++++++++++++++++------------------ lib/msun/src/s_tanpif.c | 24 ++++++++++---------- 13 files changed, 183 insertions(+), 193 deletions(-) diff --git a/lib/msun/ld128/s_cospil.c b/lib/msun/ld128/s_cospil.c index 71acc4485f7b..b21f879c3e84 100644 --- a/lib/msun/ld128/s_cospil.c +++ b/lib/msun/ld128/s_cospil.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017-2021 Steven G. Kargl + * Copyright (c) 2017-2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,6 +28,7 @@ * See ../src/s_cospi.c for implementation details. */ +#include "fpmath.h" #include "math.h" #include "math_private.h" @@ -46,8 +47,7 @@ volatile static const double vzero = 0; long double cospil(long double x) { - long double ax, c, xf; - uint32_t ix; + long double ai, ar, ax, c; ax = fabsl(x); @@ -72,41 +72,37 @@ cospil(long double x) } if (ax < 0x1p112) { - /* Split x = n + r with 0 <= r < 1. */ - xf = (ax + 0x1p112L) - 0x1p112L; /* Integer part */ - ax -= xf; /* Remainder */ - if (ax < 0) { - ax += 1; - xf -= 1; - } + /* Split ax = ai + ar with 0 <= ar < 1. */ + FFLOORL128(ax, ai, ar); - if (ax < 0.5) { - if (ax < 0.25) - c = ax == 0 ? 1 : __kernel_cospil(ax); + if (ar < 0.5) { + if (ar < 0.25) + c = ar == 0 ? 1 : __kernel_cospil(ar); else - c = __kernel_sinpil(0.5 - ax); + c = __kernel_sinpil(0.5 - ar); } else { - if (ax < 0.75) { - if (ax == 0.5) + if (ar < 0.75) { + if (ar == 0.5) return (0); - c = -__kernel_sinpil(ax - 0.5); + c = -__kernel_sinpil(ar - 0.5); } else - c = -__kernel_cospil(1 - ax); + c = -__kernel_cospil(1 - ar); } - - if (xf > 0x1p64) - xf -= 0x1p64; - if (xf > 0x1p32) - xf -= 0x1p32; - ix = (uint32_t)xf; - return (ix & 1 ? -c : c); + return (fmodl(ai, 2.L) == 0 ? c : -c); } if (isinf(x) || isnan(x)) return (vzero / vzero); /* - * |x| >= 0x1p112 is always an even integer, so return 1. + * For |x| >= 0x1p113, it is always an even integer, so return 1. */ - return (1); + if (ax >= 0x1p113) + return (1); + /* + * For 0x1p112 <= |x| < 0x1p113 need to determine if x is an even + * or odd integer to return 1 or -1. + */ + + return (fmodl(ax, 2.L) == 0 ? 1 : -1); } diff --git a/lib/msun/ld128/s_sinpil.c b/lib/msun/ld128/s_sinpil.c index cdfa2bcac3ef..c8c205449557 100644 --- a/lib/msun/ld128/s_sinpil.c +++ b/lib/msun/ld128/s_sinpil.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017-2021 Steven G. Kargl + * Copyright (c) 2017-2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,6 +28,7 @@ * See ../src/s_sinpi.c for implementation details. */ +#include "fpmath.h" #include "math.h" #include "math_private.h" @@ -46,8 +47,7 @@ volatile static const double vzero = 0; long double sinpil(long double x) { - long double ax, hi, lo, s, xf, xhi, xlo; - uint32_t ix; + long double ai, ar, ax, hi, lo, s, xhi, xlo; ax = fabsl(x); @@ -78,35 +78,25 @@ sinpil(long double x) } if (ax < 0x1p112) { - /* Split x = n + r with 0 <= r < 1. */ - xf = (ax + 0x1p112L) - 0x1p112L; /* Integer part */ - ax -= xf; /* Remainder */ - if (ax < 0) { - ax += 1; - xf -= 1; - } + /* Split ax = ai + ar with 0 <= ar < 1. */ + FFLOORL128(ax, ai, ar); - if (ax == 0) { + if (ar == 0) { s = 0; } else { - if (ax < 0.5) { - if (ax <= 0.25) - s = __kernel_sinpil(ax); + if (ar < 0.5) { + if (ar <= 0.25) + s = __kernel_sinpil(ar); else - s = __kernel_cospil(0.5 - ax); + s = __kernel_cospil(0.5 - ar); } else { - if (ax < 0.75) - s = __kernel_cospil(ax - 0.5); + if (ar < 0.75) + s = __kernel_cospil(ar - 0.5); else - s = __kernel_sinpil(1 - ax); + s = __kernel_sinpil(1 - ar); } - if (xf > 0x1p64) - xf -= 0x1p64; - if (xf > 0x1p32) - xf -= 0x1p32; - ix = (uint32_t)xf; - if (ix & 1) s = -s; + s = fmodl(ai, 2.L) == 0 ? s : -s; } return (x < 0 ? -s : s); } diff --git a/lib/msun/ld128/s_tanpil.c b/lib/msun/ld128/s_tanpil.c index 90f4aea5c629..2d253bb9f478 100644 --- a/lib/msun/ld128/s_tanpil.c +++ b/lib/msun/ld128/s_tanpil.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017-2021 Steven G. Kargl + * Copyright (c) 2017-2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -28,6 +28,7 @@ * See ../src/s_tanpi.c for implementation details. */ +#include "fpmath.h" #include "math.h" #include "math_private.h" @@ -69,8 +70,8 @@ volatile static const double vzero = 0; long double tanpil(long double x) { - long double ax, hi, lo, xf, t; - uint32_t ix; + long double ai, ar, ax, hi, lo, t; + double odd; ax = fabsl(x); @@ -88,27 +89,22 @@ tanpil(long double x) } t = __kernel_tanpil(ax); } else if (ax == 0.5) - return ((ax - ax) / (ax - ax)); + t = 1 / vzero; else t = -__kernel_tanpil(1 - ax); return (x < 0 ? -t : t); } - if (ix < 0x1p112) { - /* Split x = n + r with 0 <= r < 1. */ - xf = (ax + 0x1p112L) - 0x1p112L; /* Integer part */ - ax -= xf; /* Remainder */ - if (ax < 0) { - ax += 1; - xf -= 1; - } - - if (ax < 0.5) - t = ax == 0 ? 0 : __kernel_tanpil(ax); - else if (ax == 0.5) - return ((ax - ax) / (ax - ax)); + if (ax < 0x1p112) { + /* Split ax = ai + ar with 0 <= ar < 1. */ + FFLOORL128(ax, ai, ar); + odd = fmodl(ai, 2.L) == 0 ? 1 : -1; + if (ar < 0.5) + t = ar == 0 ? copysign(0., odd) : __kernel_tanpil(ar); + else if (ar == 0.5) + t = odd / vzero; else - t = -__kernel_tanpil(1 - ax); + t = -__kernel_tanpil(1 - ar); return (x < 0 ? -t : t); } @@ -117,7 +113,10 @@ tanpil(long double x) return (vzero / vzero); /* - * |x| >= 0x1p112 is always an integer, so return +-0. + * For 0x1p112 <= |x| < 0x1p113 need to determine if x is an even + * or odd integer to set t = +0 or -0. + * For |x| >= 0x1p113, it is always an even integer, so t = 0. */ - return (copysignl(0, x)); + t = fmodl(ax,2.L) == 0 ? 0 : copysign(0., -1.); + return (copysignl(t, x)); } diff --git a/lib/msun/ld80/s_cospil.c b/lib/msun/ld80/s_cospil.c index 199479e9eaf9..69620d2f2f33 100644 --- a/lib/msun/ld80/s_cospil.c +++ b/lib/msun/ld80/s_cospil.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017 Steven G. Kargl + * Copyright (c) 2017, 2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -80,18 +80,8 @@ cospil(long double x) RETURNI(c); } - if (ix < 0x403e) { /* 1 <= |x| < 0x1p63 */ - /* Determine integer part of ax. */ - j0 = ix - 0x3fff + 1; - if (j0 < 32) { - lx = (lx >> 32) << 32; - lx &= ~(((lx << 32)-1) >> j0); - } else { - m = (uint64_t)-1 >> (j0 + 1); - if (lx & m) lx &= ~m; - } - INSERT_LDBL80_WORDS(x, ix, lx); - + if (ix < 0x403e) { /* 1 <= |x| < 0x1p63 */ + FFLOORL80(x, j0, ix, lx); /* Integer part of ax. */ ax -= x; EXTRACT_LDBL80_WORDS(ix, lx, ax); @@ -123,7 +113,9 @@ cospil(long double x) RETURNI(vzero / vzero); /* - * |x| >= 0x1p63 is always an even integer, so return 1. + * For 0x1p63 <= |x| < 0x1p64 need to determine if x is an even + * or odd integer to return t = +1 or -1. + * For |x| >= 0x1p64, it is always an even integer, so t = 1. */ - RETURNI(1); + RETURNI(ix >= 0x403f ? 1 : ((lx & 1) ? -1 : 1)); } diff --git a/lib/msun/ld80/s_sinpil.c b/lib/msun/ld80/s_sinpil.c index 4cefa92352e1..7d9008f9e18f 100644 --- a/lib/msun/ld80/s_sinpil.c +++ b/lib/msun/ld80/s_sinpil.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017 Steven G. Kargl + * Copyright (c) 2017, 2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -88,18 +88,8 @@ sinpil(long double x) RETURNI((hx & 0x8000) ? -s : s); } - if (ix < 0x403e) { /* 1 <= |x| < 0x1p63 */ - /* Determine integer part of ax. */ - j0 = ix - 0x3fff + 1; - if (j0 < 32) { - lx = (lx >> 32) << 32; - lx &= ~(((lx << 32)-1) >> j0); - } else { - m = (uint64_t)-1 >> (j0 + 1); - if (lx & m) lx &= ~m; - } - INSERT_LDBL80_WORDS(x, ix, lx); - + if (ix < 0x403e) { /* 1 <= |x| < 0x1p63 */ + FFLOORL80(x, j0, ix, lx); /* Integer part of ax. */ ax -= x; EXTRACT_LDBL80_WORDS(ix, lx, ax); diff --git a/lib/msun/ld80/s_tanpil.c b/lib/msun/ld80/s_tanpil.c index 02451e562025..2d640413af6c 100644 --- a/lib/msun/ld80/s_tanpil.c +++ b/lib/msun/ld80/s_tanpil.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017 Steven G. Kargl + * Copyright (c) 2017, 2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -72,7 +72,7 @@ volatile static const double vzero = 0; long double tanpil(long double x) { - long double ax, hi, lo, t; + long double ax, hi, lo, odd, t; uint64_t lx, m; uint32_t j0; uint16_t hx, ix; @@ -98,31 +98,22 @@ tanpil(long double x) } t = __kernel_tanpil(ax); } else if (ax == 0.5) - RETURNI((ax - ax) / (ax - ax)); + t = 1 / vzero; else t = -__kernel_tanpil(1 - ax); RETURNI((hx & 0x8000) ? -t : t); } - if (ix < 0x403e) { /* 1 <= |x| < 0x1p63 */ - /* Determine integer part of ax. */ - j0 = ix - 0x3fff + 1; - if (j0 < 32) { - lx = (lx >> 32) << 32; - lx &= ~(((lx << 32)-1) >> j0); - } else { - m = (uint64_t)-1 >> (j0 + 1); - if (lx & m) lx &= ~m; - } - INSERT_LDBL80_WORDS(x, ix, lx); - + if (ix < 0x403e) { /* 1 <= |x| < 0x1p63 */ + FFLOORL80(x, j0, ix, lx); /* Integer part of ax. */ + odd = (uint64_t)x & 1 ? -1 : 1; ax -= x; EXTRACT_LDBL80_WORDS(ix, lx, ax); if (ix < 0x3ffe) /* |x| < 0.5 */ - t = ax == 0 ? 0 : __kernel_tanpil(ax); - else if (ax == 0.5) - RETURNI((ax - ax) / (ax - ax)); + t = ix == 0 ? copysignl(0, odd) : __kernel_tanpil(ax); + else if (ax == 0.5L) + t = odd / vzero; else t = -__kernel_tanpil(1 - ax); RETURNI((hx & 0x8000) ? -t : t); @@ -133,7 +124,10 @@ tanpil(long double x) RETURNI(vzero / vzero); /* - * |x| >= 0x1p63 is always an integer, so return +-0. + * For 0x1p63 <= |x| < 0x1p64 need to determine if x is an even + * or odd integer to set t = +0 or -0. + * For |x| >= 0x1p64, it is always an even integer, so t = 0. */ - RETURNI(copysignl(0, x)); + t = ix >= 0x403f ? 0 : (copysignl(0, (lx & 1) ? -1 : 1)); + RETURNI((hx & 0x8000) ? -t : t); } diff --git a/lib/msun/src/math_private.h b/lib/msun/src/math_private.h index 429b9c70b215..814a05ebce67 100644 --- a/lib/msun/src/math_private.h +++ b/lib/msun/src/math_private.h @@ -688,6 +688,59 @@ irintl(long double x) } #endif +/* + * The following are fast floor macros for 0 <= |x| < 0x1p(N-1), where + * N is the precision of the type of x. These macros are used in the + * half-cycle trignometric functions (e.g., sinpi(x)). + */ +#define FFLOORF(x, j0, ix) do { \ + (j0) = (((ix) >> 23) & 0xff) - 0x7f; \ + (ix) &= ~(0x007fffff >> (j0)); \ + SET_FLOAT_WORD((x), (ix)); \ +} while (0) + +#define FFLOOR(x, j0, ix, lx) do { \ + (j0) = (((ix) >> 20) & 0x7ff) - 0x3ff; \ + if ((j0) < 20) { \ + (ix) &= ~(0x000fffff >> (j0)); \ + (lx) = 0; \ + } else { \ + (lx) &= ~((uint32_t)0xffffffff >> ((j0) - 20)); \ + } \ + INSERT_WORDS((x), (ix), (lx)); \ +} while (0) + +#define FFLOORL80(x, j0, ix, lx) do { \ + j0 = ix - 0x3fff + 1; \ + if ((j0) < 32) { \ + (lx) = ((lx) >> 32) << 32; \ + (lx) &= ~((((lx) << 32)-1) >> (j0)); \ + } else { \ + uint64_t _m; \ + _m = (uint64_t)-1 >> (j0); \ + if ((lx) & _m) (lx) &= ~_m; \ + } \ + INSERT_LDBL80_WORDS((x), (ix), (lx)); \ +} while (0) + +#define FFLOORL128(x, ai, ar) do { \ + union IEEEl2bits u; \ + uint64_t m; \ + int e; \ + u.e = (x); \ + e = u.bits.exp - 16383; \ + if (e < 48) { \ + m = ((1llu << 49) - 1) >> (e + 1); \ + u.bits.manh &= ~m; \ + u.bits.manl = 0; \ + } else { \ + m = (uint64_t)-1 >> (e - 48); \ + u.bits.manl &= ~m; \ + } \ + (ai) = u.e; \ + (ar) = (x) - (ai); \ +} while (0) + #ifdef DEBUG #if defined(__amd64__) || defined(__i386__) #define breakpoint() asm("int $3") diff --git a/lib/msun/src/s_cospi.c b/lib/msun/src/s_cospi.c index 2e2f92733a86..f97570dc8792 100644 --- a/lib/msun/src/s_cospi.c +++ b/lib/msun/src/s_cospi.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017 Steven G. Kargl + * Copyright (c) 2017, 2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -104,20 +104,10 @@ cospi(double x) } if (ix < 0x43300000) { /* 1 <= |x| < 0x1p52 */ - /* Determine integer part of ax. */ - j0 = ((ix >> 20) & 0x7ff) - 0x3ff; - if (j0 < 20) { - ix &= ~(0x000fffff >> j0); - lx = 0; - } else { - lx &= ~((uint32_t)0xffffffff >> (j0 - 20)); - } - INSERT_WORDS(x, ix, lx); - + FFLOOR(x, j0, ix, lx); /* Integer part of ax. */ ax -= x; EXTRACT_WORDS(ix, lx, ax); - if (ix < 0x3fe00000) { /* |x| < 0.5 */ if (ix < 0x3fd00000) /* |x| < 0.25 */ c = ix == 0 ? 1 : __kernel_cospi(ax); @@ -143,9 +133,11 @@ cospi(double x) return (vzero / vzero); /* - * |x| >= 0x1p52 is always an even integer, so return 1. + * For 0x1p52 <= |x| < 0x1p53 need to determine if x is an even + * or odd integer to return +1 or -1. + * For |x| >= 0x1p53, it is always an even integer, so return 1. */ - return (1); + return (ix < 0x43400000 ? ((lx & 1) ? -1 : 1) : 1); } #if LDBL_MANT_DIG == 53 diff --git a/lib/msun/src/s_cospif.c b/lib/msun/src/s_cospif.c index 4dd881395baf..44d19f165025 100644 --- a/lib/msun/src/s_cospif.c +++ b/lib/msun/src/s_cospif.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017 Steven G. Kargl + * Copyright (c) 2017,2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -71,12 +71,8 @@ cospif(float x) return (c); } - if (ix < 0x4b000000) { /* 1 <= |x| < 0x1p23 */ - /* Determine integer part of ax. */ - j0 = ((ix >> 23) & 0xff) - 0x7f; - ix &= ~(0x007fffff >> j0); - SET_FLOAT_WORD(x, ix); - + if (ix < 0x4b000000) { /* 1 <= |x| < 0x1p23 */ + FFLOORF(x, j0, ix); /* Integer part of ax. */ ax -= x; GET_FLOAT_WORD(ix, ax); @@ -103,7 +99,9 @@ cospif(float x) return (vzero / vzero); /* - * |x| >= 0x1p23 is always an even integer, so return 1. + * For 0x1p23 <= |x| < 0x1p24 need to determine if x is an even + * or odd integer to return +1 or -1. + * For |x| >= 0x1p24, it is always an even integer, so return 1. */ - return (1); + return (ix < 0x4b800000 ? ((ix & 1) ? -1 : 1) : 1); } diff --git a/lib/msun/src/s_sinpi.c b/lib/msun/src/s_sinpi.c index bc3759e567a3..8b388de863c3 100644 --- a/lib/msun/src/s_sinpi.c +++ b/lib/msun/src/s_sinpi.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017 Steven G. Kargl + * Copyright (c) 2017, 2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -118,16 +118,7 @@ sinpi(double x) } if (ix < 0x43300000) { /* 1 <= |x| < 0x1p52 */ - /* Determine integer part of ax. */ - j0 = ((ix >> 20) & 0x7ff) - 0x3ff; - if (j0 < 20) { - ix &= ~(0x000fffff >> j0); - lx = 0; - } else { - lx &= ~((uint32_t)0xffffffff >> (j0 - 20)); - } - INSERT_WORDS(x, ix, lx); - + FFLOOR(x, j0, ix, lx); /* Integer part of ax. */ ax -= x; EXTRACT_WORDS(ix, lx, ax); diff --git a/lib/msun/src/s_sinpif.c b/lib/msun/src/s_sinpif.c index c9f76f8a2358..21082dee7d9c 100644 --- a/lib/msun/src/s_sinpif.c +++ b/lib/msun/src/s_sinpif.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017 Steven G. Kargl + * Copyright (c) 2017,2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -81,12 +81,8 @@ sinpif(float x) return ((hx & 0x80000000) ? -s : s); } - if (ix < 0x4b000000) { /* 1 <= |x| < 0x1p23 */ - /* Determine integer part of ax. */ - j0 = ((ix >> 23) & 0xff) - 0x7f; - ix &= ~(0x007fffff >> j0); - SET_FLOAT_WORD(x, ix); - + if (ix < 0x4b000000) { /* 1 <= |x| < 0x1p23 */ + FFLOORF(x, j0, ix); /* Integer part of ax. */ ax -= x; GET_FLOAT_WORD(ix, ax); diff --git a/lib/msun/src/s_tanpi.c b/lib/msun/src/s_tanpi.c index f911d56156b3..cd00adbcb86e 100644 --- a/lib/msun/src/s_tanpi.c +++ b/lib/msun/src/s_tanpi.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017 Steven G. Kargl + * Copyright (c) 2017, 2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -56,11 +56,15 @@ * 5. Special cases: * * tanpi(+-0) = +-0 - * tanpi(+-n) = +-0, for positive integers n. + * tanpi(n) = +0 for positive even and negative odd integer n. + * tanpi(n) = -0 for positive odd and negative even integer n. * tanpi(+-n+1/4) = +-1, for positive integers n. - * tanpi(+-n+1/2) = NaN, for positive integers n. - * tanpi(+-inf) = NaN. Raises the "invalid" floating-point exception. - * tanpi(nan) = NaN. Raises the "invalid" floating-point exception. + * tanpi(n+1/2) = +inf and raises the FE_DIVBYZERO exception for + * even integers n. + * tanpi(n+1/2) = -inf and raises the FE_DIVBYZERO exception for + * odd integers n. + * tanpi(+-inf) = NaN and raises the FE_INVALID exception. + * tanpi(nan) = NaN and raises the FE_INVALID exception. */ #include @@ -106,7 +110,7 @@ volatile static const double vzero = 0; double tanpi(double x) { - double ax, hi, lo, t; + double ax, hi, lo, odd, t; uint32_t hx, ix, j0, lx; EXTRACT_WORDS(hx, lx, x); @@ -132,30 +136,22 @@ tanpi(double x) } t = __kernel_tanpi(ax); } else if (ax == 0.5) - return ((ax - ax) / (ax - ax)); + t = 1 / vzero; else t = - __kernel_tanpi(1 - ax); return ((hx & 0x80000000) ? -t : t); } if (ix < 0x43300000) { /* 1 <= |x| < 0x1p52 */ - /* Determine integer part of ax. */ - j0 = ((ix >> 20) & 0x7ff) - 0x3ff; - if (j0 < 20) { - ix &= ~(0x000fffff >> j0); - lx = 0; - } else { - lx &= ~(((uint32_t)(0xffffffff)) >> (j0 - 20)); - } - INSERT_WORDS(x,ix,lx); - + FFLOOR(x, j0, ix, lx); /* Integer part of ax. */ + odd = (uint64_t)x & 1 ? -1 : 1; ax -= x; EXTRACT_WORDS(ix, lx, ax); if (ix < 0x3fe00000) /* |x| < 0.5 */ - t = ax == 0 ? 0 : __kernel_tanpi(ax); + t = ix == 0 ? copysign(0, odd) : __kernel_tanpi(ax); else if (ax == 0.5) - return ((ax - ax) / (ax - ax)); + t = odd / vzero; else t = - __kernel_tanpi(1 - ax); @@ -167,9 +163,12 @@ tanpi(double x) return (vzero / vzero); /* - * |x| >= 0x1p52 is always an integer, so return +-0. + * For 0x1p52 <= |x| < 0x1p53 need to determine if x is an even + * or odd integer to set t = +0 or -0. + * For |x| >= 0x1p54, it is always an even integer, so t = 0. */ - return (copysign(0, x)); + t = ix >= 0x43400000 ? 0 : (copysign(0, (lx & 1) ? -1 : 1)); + return ((hx & 0x80000000) ? -t : t); } #if LDBL_MANT_DIG == 53 diff --git a/lib/msun/src/s_tanpif.c b/lib/msun/src/s_tanpif.c index 6d4b627d1cf9..12dd8f838976 100644 --- a/lib/msun/src/s_tanpif.c +++ b/lib/msun/src/s_tanpif.c @@ -1,5 +1,5 @@ /*- - * Copyright (c) 2017 Steven G. Kargl + * Copyright (c) 2017,2023 Steven G. Kargl * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -58,7 +58,7 @@ volatile static const float vzero = 0; float tanpif(float x) { - float ax, hi, lo, t; + float ax, hi, lo, odd, t; uint32_t hx, ix, j0; GET_FLOAT_WORD(hx, x); @@ -79,25 +79,22 @@ tanpif(float x) } t = __kernel_tanpif(ax); } else if (ix == 0x3f000000) - return ((ax - ax) / (ax - ax)); + t = 1 / vzero; else t = - __kernel_tanpif(1 - ax); return ((hx & 0x80000000) ? -t : t); } if (ix < 0x4b000000) { /* 1 <= |x| < 0x1p23 */ - /* Determine integer part of ax. */ - j0 = ((ix >> 23) & 0xff) - 0x7f; - ix &= ~(0x007fffff >> j0); - SET_FLOAT_WORD(x, ix); - + FFLOORF(x, j0, ix); /* Integer part of ax. */ + odd = (uint32_t)x & 1 ? -1 : 1; ax -= x; GET_FLOAT_WORD(ix, ax); if (ix < 0x3f000000) /* |x| < 0.5 */ - t = ix == 0 ? 0 : __kernel_tanpif(ax); + t = ix == 0 ? copysignf(0, odd) : __kernel_tanpif(ax); else if (ix == 0x3f000000) - return ((ax - ax) / (ax - ax)); + t = odd / vzero; else t = - __kernel_tanpif(1 - ax); return ((hx & 0x80000000) ? -t : t); @@ -108,7 +105,10 @@ tanpif(float x) return (vzero / vzero); /* - * |x| >= 0x1p23 is always an integer, so return +-0. + * For 0x1p23 <= |x| < 0x1p24 need to determine if x is an even + * or odd integer to set t = +0 or -0. + * For |x| >= 0x1p24, it is always an even integer, so t = 0. */ - return (copysignf(0, x)); + t = ix >= 0x4b800000 ? 0 : (copysignf(0, (ix & 1) ? -1 : 1)); + return ((hx & 0x80000000) ? -t : t); } From nobody Thu Aug 10 02:58:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLs7W21Bsz4pvsZ; Thu, 10 Aug 2023 02:58:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLs7W0YMXz3J2P; Thu, 10 Aug 2023 02:58:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636311; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gT0VRHDzh65//d3ESifFa6kDf3uot0DllfVdOC2I3V0=; b=raAfXcCxJl7BSVIjyiIpixd0sTRtm8dz+BXCxlKa/7UMqb3PIox4l6jKJhGvkgafK2a9MP gFYSYtgqqPDJyDmhAPT+UUnlJCOwuRC70/U4TiwCW1hk/oOj4K/hkMWpGYGkRy4WGhK2+3 rGs3QErv38LesHyzzEVsjndA0ThK31W7LvhTGW784esp0YrOxNn0QGJt3B+9LtwPw69k8c tLG+x9vWJim1fMkeYZANcJoGWoOiDwMuOBuRJwTw9sjmpMoDlVSDN2p/I5Tkgv0aTvuouM C35bfEij/KfHhcuu8LMhCGw94YyY0pZNW79YI2Arex/wECKhAZeVkpJbJftKXw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636311; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=gT0VRHDzh65//d3ESifFa6kDf3uot0DllfVdOC2I3V0=; b=Zc/2P9uW2RX7t/1zFewn1h851z1gDWpc2R0ICo7yrZKyf1AJulSN5qwoORCLLscG6KyKmv Gv0IWggmL0nlSNQ876O43GkWH2PggLyBcq6xHJ6HAxI1vDiCQs7YhznsioZfPDlkIEBH1z xN09VTyipecbWDL2lK/OLnyYH1az46+fIHcCOMw5lyCxEPou/ho15P/cct3SLEA9KjqAs6 lwN5XdUBissvZH6RLMhw5ZJ7dLMUwr5l9OcEytRQYpKyoY72qGRrNouG1zY+N0TeNpLDtA Luabs6kB6RPtdKwgpn2SSc6mrnAHgvmDCu5sENw9KiI8e88s+UWFynAoC85JrQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691636311; a=rsa-sha256; cv=none; b=BEax1SRVnyvi/5vfod/JM4rLOS7d2N5rNcudXYga7YUfTKBteG4dSM7J+qeJjvR9WDE16d eebEi5SBWNAstInSzRvgZVjZoXB4YHBGZ5wJXjDRBsEy3oV79R5dxw2TaP5cVm+g+O27kG 12t8PhwmzOb6TOOVXSAAbEhg+4rBXFyou8kd2d8yYbHxwVwWBayxHFdmvE1a6aGxm1pqSt bLa9ZcYF1EB4/VUBjrTy7hKwl8+HGFFR5eLibIkSSNUtF+7/Lnex7NgyZM4IdgP2fIbgDo Es4pVA+jimEc2pYglh8csotGOIlssmFmu8vPSlGOuGxqHOBbgC8etTTG5Rj/7A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLs7V6SK8zgx8; Thu, 10 Aug 2023 02:58:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A2wUls074333; Thu, 10 Aug 2023 02:58:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A2wU11074330; Thu, 10 Aug 2023 02:58:30 GMT (envelope-from git) Date: Thu, 10 Aug 2023 02:58:30 GMT Message-Id: <202308100258.37A2wU11074330@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 6c20cf96ac0e - stable/13 - libibverbs: remove nonexistent symbols from the linker map List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 6c20cf96ac0e101a7e5b845fd02509fd26231de4 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=6c20cf96ac0e101a7e5b845fd02509fd26231de4 commit 6c20cf96ac0e101a7e5b845fd02509fd26231de4 Author: Konstantin Belousov AuthorDate: 2023-08-01 22:56:40 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-10 02:57:29 +0000 libibverbs: remove nonexistent symbols from the linker map (cherry picked from commit dd0f2d02c683c6ee885dda8ed323a1586c409967) --- contrib/ofed/libibverbs/libibverbs.map | 3 --- 1 file changed, 3 deletions(-) diff --git a/contrib/ofed/libibverbs/libibverbs.map b/contrib/ofed/libibverbs/libibverbs.map index 540124110e11..b49c09a06ce3 100644 --- a/contrib/ofed/libibverbs/libibverbs.map +++ b/contrib/ofed/libibverbs/libibverbs.map @@ -10,7 +10,6 @@ IBVERBS_1.0 { ibv_get_async_event; ibv_ack_async_event; ibv_query_device; - ibv_query_device_ex; ibv_query_port; ibv_query_gid; ibv_query_pkey; @@ -65,7 +64,6 @@ IBVERBS_1.1 { ibv_fork_init; ibv_dontfork_range; ibv_dofork_range; - ibv_register_driver; ibv_node_type_str; ibv_port_state_str; @@ -136,7 +134,6 @@ IBVERBS_PRIVATE_14 { ibv_cmd_rereg_mr; ibv_cmd_resize_cq; ibv_query_gid_type; - ibv_register_driver; verbs_register_driver; verbs_init_cq; }; From nobody Thu Aug 10 02:58:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLs7X69PNz4pvcL; Thu, 10 Aug 2023 02:58:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLs7X1XHtz3HrC; Thu, 10 Aug 2023 02:58:32 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V+Mq09lisS/Oy/nYqPJRwqtrnKWmq140+dUt1mZvzhY=; b=e2tLC0AYGE6xXP1eOh/hQ+UUsWtZdZhZCrsKgf6h6ZvL1uKwam5I63cF3/fd/Kr8u+FMLD hP1qPak/tSQf8Qt5BImm+EzPlu22VfTjHfaCJYupvXv4wMZkUDZSpbmZlL1OUX21LyR2Tx QqyUqb/PaXX0lmW/AHmXiK2NHvZakKXZKSfTI0Vt27yiShedtXY4Q/xH8AB9werHz0P37d ojRt+9gQF2KRGeJgbFU4CxS/my0rXwZp/n5jyTUypgJiX8JY1r+1KtEvXFM+soFZbLmV3A ZXLH+9tdN7azfdgWmxVyq71HvYD6XNxBCROZqXPF6KB0gs03nMDdArWZ5sGjzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636312; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=V+Mq09lisS/Oy/nYqPJRwqtrnKWmq140+dUt1mZvzhY=; b=RnrQwP+hHGnFLLbknQEJC3bhCyYW5UI/tcZuyOueRJQyq19psmKR2wZK6x3sL5gTLgdB/K 9ggr26UB6w1gOKTymBDIK5Ri8MCSrgGUgD70H5ViLjxqx7MsQpLvx+WaWu3N5OBESTbO4B kWnCNo2ekyBZNQc5Ay14fupssZu2bYBQ2LHc+rojF4xMYqTVdMGNvceP7h4MEELIjDkNGr JpT1oW5R9KsX3aOpffgTeY3yhBRWpCRzVgiaHhvvGm6JlEhLQPa3I8aOIupcHfHx3E0gLV 8Unpx/ZdXKAgNTsCHz7K4GEUOaeEGkljr9HX7a0bWceK8y3kbZWQuEWzRNNmeQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691636312; a=rsa-sha256; cv=none; b=Wi9H1gay8ui1sTtnNn64mmavTCMBA0b1Csm60gMqtdYlds+BJEjq3J6VeXsSysuW+qHeBL xH46j5ujQzsPA8UdUx4cXzo7M7UQmX/ufV1uyKUIJux2l7ON5EVCse03ZqTSZRqLZqGM1E VmR+gvI9x5gLY9aQtGPxu6rOP1kIa/gksqHO212KING7OSAzKhcVU1Lw9M17XWxsjLju7C 2tSRl3iQ+iWCC0ek+rSbG/buPvUwmkplwFHuPGh3gsNmv0GkOGTreq2v2HUenl1nA/owvy QIthTqqVr+Q0z9BvjU+x2mblHIP568PLLHKMB+w3OfI8P5UBOmyEyj3gBdoM/Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLs7X0NWfzgmR; Thu, 10 Aug 2023 02:58:32 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A2wVW4074384; Thu, 10 Aug 2023 02:58:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A2wVop074381; Thu, 10 Aug 2023 02:58:31 GMT (envelope-from git) Date: Thu, 10 Aug 2023 02:58:31 GMT Message-Id: <202308100258.37A2wVop074381@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 7bf2125dc1a5 - stable/13 - librdmacm: remove rsocket symbols from the map file List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 7bf2125dc1a5fc52abe1c859107ac68701464323 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=7bf2125dc1a5fc52abe1c859107ac68701464323 commit 7bf2125dc1a5fc52abe1c859107ac68701464323 Author: Konstantin Belousov AuthorDate: 2023-08-03 07:54:09 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-10 02:57:29 +0000 librdmacm: remove rsocket symbols from the map file (cherry picked from commit 9a7eba89f972e0dac0f53d0d442328248eb949ec) --- contrib/ofed/librdmacm/librdmacm.map | 27 --------------------------- 1 file changed, 27 deletions(-) diff --git a/contrib/ofed/librdmacm/librdmacm.map b/contrib/ofed/librdmacm/librdmacm.map index 1c8d74350265..e2eebbe576b4 100644 --- a/contrib/ofed/librdmacm/librdmacm.map +++ b/contrib/ofed/librdmacm/librdmacm.map @@ -36,33 +36,6 @@ RDMACM_1.0 { rdma_destroy_ep; rdma_create_srq; rdma_destroy_srq; - rsocket; - rbind; - rlisten; - raccept; - rconnect; - rshutdown; - rclose; - rrecv; - rrecvfrom; - rrecvmsg; - rsend; - rsendto; - rsendmsg; - rread; - rreadv; - rwrite; - rwritev; - rpoll; - rselect; - rgetpeername; - rgetsockname; - rsetsockopt; - rgetsockopt; - rfcntl; - riomap; - riounmap; - riowrite; rdma_create_srq_ex; rdma_create_qp_ex; local: *; From nobody Thu Aug 10 02:58:33 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLs7Y3cZcz4pw5h; Thu, 10 Aug 2023 02:58:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLs7Y1zvcz3J0b; Thu, 10 Aug 2023 02:58:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RSfvc527al0e6s5RBFTb1Dlj+HJOk9cDjlwGGkO36tI=; b=DA/aMCgxm9MmHrLNjcuNVJ4JoOXBIzgDHJc7Oj8oL1lZvMGDZg2IjeIk3jgFgY7M62tR+/ BTQpyJw7E7o4lR4bXd9k0J0iPdL6Yx0ExZpL4v9JLe37uXOrvb3oFnT/n8Syc0RzyFyDmW iLUmKxGCKfvz7pXrNYPGz52aMzzvGU9OXo4XRHSXsnqBpC4/7qJm7ByNj5HbIe/+37Ar5H bXd1WDBYjRZ7MNg3oEEMn+59MBQWbgA7N5FelK8IoG7RHgUyO78WKHS0JA9Pi8rqJasDIV tWA0HpJQYtiMLN4lg8H1bV91OM8R98i9rLAJl+JOctbEtLdxX+bsHWujqhxnFg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636313; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=RSfvc527al0e6s5RBFTb1Dlj+HJOk9cDjlwGGkO36tI=; b=JzBOEUgROQAJLMGi2LN1wmaAx9I88nEGzwfRLIgsQnGA9oBw4DbLDnzr3WMUliHAxQzzV7 XMroMFA2JpVkex/v9p1HdmgdWA2AU/PsyCoD6+J/xYGKCOxolu3p5eVy3Jd7QSL4OcIU68 l81YkII498XW8G4x4rXzLCmqbLSs0RAhduxRtLa4G7AwM8cMt4wNAr4TNBzveSz/ZkHQkf Qh9qgR1U4RTKMIr1Sw9VdEBQLdrwjDURDoIs5N9aeQGyP+YGaIZJYli6bxWn7o8JgwJQge wUmuVIcGVgMP9HHNrdW+9j0F1SnrJJ1eLI45XpASVxp4xVOT8wWMzVC5VBl14A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691636313; a=rsa-sha256; cv=none; b=DweC3ER8QrxenOKeBQkhsUk3K5s9qysLKDuyAqHqnls/8+j069wyifGXH2SnrUjTYOFSKf 2qcQyEfRU4bLFtog1GYhb27m6XHyqv9OulrOIu4WUyAQci32ZVkUqfT9jrux5Kp0DoTcTT kLmIBPrd/d47gk0a6ROTdAvoZdTN8RHTR+jVqWrF7BccJ8YCgdm/nnIdwrpccUv5zUoh7g wNbWrxgG/9r31nJMue+ewjDByoGpPkGh7/BceKYwqd7ALbkCWN4GtHcJ4F7kAXVSYBi5C5 FQk7Zw0/PIenH3/UNAUnrNLisOm4wo/aboDdtTw4mLVDeE0W9pyt85DlJvIM6A== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLs7Y14H9zg43; Thu, 10 Aug 2023 02:58:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A2wXF7074438; Thu, 10 Aug 2023 02:58:33 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A2wXjK074435; Thu, 10 Aug 2023 02:58:33 GMT (envelope-from git) Date: Thu, 10 Aug 2023 02:58:33 GMT Message-Id: <202308100258.37A2wXjK074435@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 42b25e115a79 - stable/13 - librmdacm: rdma_get_local_addr and rdma_get_peer_addr are not exported List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 42b25e115a797bfc69b3c07401d9ede5aea8b08a Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=42b25e115a797bfc69b3c07401d9ede5aea8b08a commit 42b25e115a797bfc69b3c07401d9ede5aea8b08a Author: Konstantin Belousov AuthorDate: 2023-08-03 08:08:32 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-10 02:57:29 +0000 librmdacm: rdma_get_local_addr and rdma_get_peer_addr are not exported (cherry picked from commit e5cf232b3f2484601b2a30f71dcbe9861e22370e) --- contrib/ofed/librdmacm/librdmacm.map | 2 -- 1 file changed, 2 deletions(-) diff --git a/contrib/ofed/librdmacm/librdmacm.map b/contrib/ofed/librdmacm/librdmacm.map index e2eebbe576b4..2d826e03238c 100644 --- a/contrib/ofed/librdmacm/librdmacm.map +++ b/contrib/ofed/librdmacm/librdmacm.map @@ -26,8 +26,6 @@ RDMACM_1.0 { rdma_free_devices; rdma_event_str; rdma_set_option; - rdma_get_local_addr; - rdma_get_peer_addr; rdma_migrate_id; rdma_getaddrinfo; rdma_freeaddrinfo; From nobody Thu Aug 10 02:58:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLs7Z6wF4z4pvss; Thu, 10 Aug 2023 02:58:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLs7Z31FPz3J2r; Thu, 10 Aug 2023 02:58:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TMZ42OwJZltTXBApJ35R1hbPltmf5yqKZkmdamBWEbE=; b=c/osbKjcLX2bibnEFRlB4mHQHMO5gmk98MOTf3KGq8oTOddP6b6aAQq2ctouFL4/fE8JnK oTpZ7iiM+oms7zKBYzIlUncF1V4LSj0bCF2B+lBiYTrVKspPFIL8PCResLqT25DovDSfMr 0pAgVdTefUGkBT/GH36cOdKlpDZEMh2rwMQqxOHxsLBH8jv7UE/LVVXVXOmhC7ApaHd42X IfXf2EicXFBNDnwlevBiygyptUGkE3neGZcaCzU7bNWnecZMpf6M6jdsiif72F8lzkb4Hz 0TJVwITOD0SCPZV3J9OSIFZ/VXnm1GELCIguOBrBKE9gHc0EEyFZHd4PsG3wjQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636314; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=TMZ42OwJZltTXBApJ35R1hbPltmf5yqKZkmdamBWEbE=; b=R14hLLnRLBppyV+yJiscEzsPOecjGRnUWltLOEcQ30jYbeAe2v+6oVy8MkX6g+o0TIRDmt TrrOlf7uS8FaAqp/7XNL0dZNrcMbk7cEpmUkl98MIdJXCbSdQJzXn9M3mibWFKbVqaoBdB bEHUnxWmFDOSlxCLKldMMP1oGIEStydd/5vQaePsoArpK23K6gcB04ED7ofu7EsqWhRcHt YTMVQ513vm9KTrUAQKuCq1yB9qAw6id7bcc7QGHYwvVF3Km00qPo19LdYwx8wgS9lCWd58 i0bO8kanjx1mgzlfq1p+MJMny30b8fnOmkJcg4rbI7SeJhuYwqR8Dvh6GrwE7w== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691636314; a=rsa-sha256; cv=none; b=mnVvXpxijPm4OnH/2BVuzk5/PRh/SgFIggFAwhp4AmQRYEcwhwaH4KQ/SjN6MEBoFWQv2Y bAvsMrezwsJ1YifPESmQEt/of+P5p8uaqGqHqxWRs7nS1ZMJPDdMy6u9HgULtREsaGTExS EBHUSnzy0oIOaIJZb0v6Elv5BK5KHfqmtdJ5BHYSSzQqmqXj052YTKhkYVrJ0LqmPR5svv 6v6o+Rg0IS7O58Bw8oxTcKNa92b35fLApoyTsoruBlB3ZbZvlGxt4wuPKEqGxxrbbjKxIi uX5jFS9owY3Onvd+e2XGRnEKB/8oAkw2IEcA4tvI4qB+NOqfMBDpjYIBLBZJIg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLs7Z26pQzgRP; Thu, 10 Aug 2023 02:58:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A2wYlb074493; Thu, 10 Aug 2023 02:58:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A2wYno074490; Thu, 10 Aug 2023 02:58:34 GMT (envelope-from git) Date: Thu, 10 Aug 2023 02:58:34 GMT Message-Id: <202308100258.37A2wYno074490@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 8b2e264d6e5c - stable/13 - opensm libosmcomp: remove non-existent symbols from the version map List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8b2e264d6e5c101b01b8dc320b84c5d4f2cf6dfc Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=8b2e264d6e5c101b01b8dc320b84c5d4f2cf6dfc commit 8b2e264d6e5c101b01b8dc320b84c5d4f2cf6dfc Author: Konstantin Belousov AuthorDate: 2023-08-03 08:29:31 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-10 02:57:29 +0000 opensm libosmcomp: remove non-existent symbols from the version map (cherry picked from commit 67c5de2dcacc7642f4648f9ec25eb10dd7387de1) --- contrib/ofed/opensm/complib/libosmcomp.map | 3 --- 1 file changed, 3 deletions(-) diff --git a/contrib/ofed/opensm/complib/libosmcomp.map b/contrib/ofed/opensm/complib/libosmcomp.map index 52410ccccf08..eaa5a1742a5d 100644 --- a/contrib/ofed/opensm/complib/libosmcomp.map +++ b/contrib/ofed/opensm/complib/libosmcomp.map @@ -112,7 +112,6 @@ OSMCOMP_2.3 { cl_thread_stall; cl_proc_count; cl_is_current_thread; - cl_thread_pool_construct; cl_thread_pool_init; cl_thread_pool_destroy; cl_thread_pool_signal; @@ -126,7 +125,6 @@ OSMCOMP_2.3 { cl_timer_trim; cl_get_time_stamp; cl_get_time_stamp_sec; - cl_vector_copy_general; cl_vector_copy16; cl_vector_copy32; cl_vector_copy64; @@ -142,7 +140,6 @@ OSMCOMP_2.3 { cl_vector_find_from_start; cl_vector_find_from_end; cl_atomic_spinlock; - cl_atomic_dec; ib_error_str; ib_async_event_str; ib_wc_status_str; From nobody Thu Aug 10 02:58:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLs7c2D81z4pvvq; Thu, 10 Aug 2023 02:58:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLs7b3xphz3J4r; Thu, 10 Aug 2023 02:58:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=03/nqzEzM/aKHD2VIG8uzWw/amBT6+5UTpNrFo8lXjw=; b=CMF99B9I0WC2dbxpqxnwX3KiEWwnmKpjJ8T4+rFb4S7Bp/in1MhBiXyMKLJvaz0OncB+nj 5lU1YXroBITz3l0e5/b/bQ7oVIXWBJWXycPyd26lTkz5gsyRyq/rNveqWjsVb3MWB3ARHs qpTPfyaz8tMOQswt463uicRvDJU12QhmiFeX7JIzs/GfUN3nWW5p76r3OCfEVMIp0v49dM EAenxw6iJqkhVI3r4tXND6MAKm7m5Uu/sV0IvTBloTIfYkyDmq4BpXV+SHhh2QOKszhLZo TU0JT8kzPGDQQEKRY75JUo047n68JZzS8BBuNrGxC3YwS8gYvsYcjkGgTSD0wA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636315; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=03/nqzEzM/aKHD2VIG8uzWw/amBT6+5UTpNrFo8lXjw=; b=xif7NM8LIW4TXHuZsyTkNmPOVabiiXsCBzltO0KgvvjszrDj0QWkv81/mGcheRb58xVm1T 4UO4f+N7fHut8GqXLHfOOCP+0LXabeGhWECuvRmGck2MOmcJOyM4CfJOEUdm/+byrF6PYE F41MO0cQErW+EX5/SUfAaO0XJZhICo1QNdXgjoH4UI/cx8B3GePx8040YXKv+ASY/LlD3C wR8KAkHTmnPi1QHSky+RwMhss0MJp40obsMaZ1A9Ka+FB09w2SfY9dipMaJi7LjmR0/cvx Pjvtnqam8UMjpi7vEjrfkdO+SwXEnnrMGQ7hz+Kv/m9Kk2ekawYz73Zua1RQMA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691636315; a=rsa-sha256; cv=none; b=R30lqz1tLQKEj3BU1wdGH+297+4ZKiRxr36XoaUKuzqzcU4cF6yUODfY5Uu1te11OtDV43 4M0OXhS3IxeJIkgrLOA5tkbB9trZyFGHoD2OH/Hf3N/JW6CxaSQt9XOxuMZVOoBJEF4TqG lt4nCm/nEspC+NxHKiya2sNBakvQY3d65mtyrVIqcArqWYHERnG82tEK/qOZCDOo/JuiAF cIo97hrBJ5L7a6xMjaHOHDfH9Ezq6g0jDKb51c6FLZ60XnSZBa6So2qt3dSe6Ph8H2lPhv fcpXFyT3/T/joaAgIoHptSwjlc9HwCQTg7QH5Nhev4l/0M/7xn6GXZcZDmqCUg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLs7b33y0zgVf; Thu, 10 Aug 2023 02:58:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A2wZA5074549; Thu, 10 Aug 2023 02:58:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A2wZfY074546; Thu, 10 Aug 2023 02:58:35 GMT (envelope-from git) Date: Thu, 10 Aug 2023 02:58:35 GMT Message-Id: <202308100258.37A2wZfY074546@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: ac0199a0c53d - stable/13 - opensm libvendor: remove non-existent symbols from the version map List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: ac0199a0c53d5a93401f03b14619745fb3dcc2d6 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=ac0199a0c53d5a93401f03b14619745fb3dcc2d6 commit ac0199a0c53d5a93401f03b14619745fb3dcc2d6 Author: Konstantin Belousov AuthorDate: 2023-08-03 08:44:19 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-10 02:57:29 +0000 opensm libvendor: remove non-existent symbols from the version map (cherry picked from commit 6fdf714d5d18f5d6d3f2ae3889a788a3ebead5cc) --- contrib/ofed/opensm/libvendor/libosmvendor.map | 2 -- 1 file changed, 2 deletions(-) diff --git a/contrib/ofed/opensm/libvendor/libosmvendor.map b/contrib/ofed/opensm/libvendor/libosmvendor.map index 17416b35e9fb..2656b42cef1c 100644 --- a/contrib/ofed/opensm/libvendor/libosmvendor.map +++ b/contrib/ofed/opensm/libvendor/libosmvendor.map @@ -1,6 +1,5 @@ OSMVENDOR_2.0 { global: - umad_receiver; osm_vendor_init; osm_vendor_new; osm_vendor_delete; @@ -15,6 +14,5 @@ OSMVENDOR_2.0 { osm_vendor_set_debug; osmv_bind_sa; osmv_query_sa; - osm_vendor_get_guid_ca_and_port; local: *; }; From nobody Thu Aug 10 02:58:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLs7d4zHQz4pvvv; Thu, 10 Aug 2023 02:58:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLs7c5BdCz3Hxk; Thu, 10 Aug 2023 02:58:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/dCr/T2ljNwHxzlCyy0R2HNbphPYJQArxJK7YMD74EA=; b=xEm7tPl/7WLAssLzTyfFhhQruz3YTHo1HVyk13gX9aweAqEBoZVNrr+LUmJjcHuM9c6I0o XZEp5f5dEkUwDfZEG34rm94xryCQPfV92OFE29sUKvGw2wc2yh4NcW8g1giB5P/Itrpseo lmOchlOPcRvz9FH+ztPgQUSlNlHzj7DtVhBn0oDdnjr0G2TEtkOjRUpvqnfmIk0bnqjz9/ fa/CQPRwTJEFb6P3pSWvsbNQ8XizSUi3/yOYhafFQFyAYAE9ZHZVJ+9VlNaZD5sOrH0lFw a1tA/sHY9Kti9Oqmq45a9ORzPkhOYGqvbGTW4pYaFXPr0S0iSzVJ9AyDBJzkHw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636316; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=/dCr/T2ljNwHxzlCyy0R2HNbphPYJQArxJK7YMD74EA=; b=hB8sFREtchnPf6FjyaLQQb9sY/4LH3J3SRapo46X3UhQ57I+wTaFzjDELy54R+c/dl0mD0 a8RRCZ1b5UEYH3v2QbF5Ia82ABZ9wWNoa8FUnYnxTnFl4PYPrcEZeBfs4M9VQtsVaJ54di fX2E7WakKbkRv8PLr0aMzsy1IoQfVRhXfcT8ex7KPTShZ63tEisN9zQduRUq3CBsrcjmo2 vz06pibvdWyBSuxh3goGGHzyvM31hzXmPvXLc4tAe0hrIUGAtTZNGQsJGDf34N7Ak0puBH MoDUiM30sY/YX2wf4MpRRbbvKaCe3gXkJIFNmfblKg6AB0+OvqP/Oj+eZvRjcw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691636316; a=rsa-sha256; cv=none; b=dKupHRyUxMT1g0EplJzEieTWKiY4b3evFm6hg+c28HzgERPeeAJ+MHEqFa4/d4ee1//Qyl xRJJHSt19PKT8XBcydxV9ufXMeFDUHrJo+AHsWY/YAYKKwrnUe/JQ+knSbepX6rMlw1t0r c3t9UHh3MXmhjp/sb660n0Tsy3tBm0CqkMsYvnrmXUUTFz07C8TjBpJtsm1wDOf2v/9aZU LrsrOvPZLrv0O05oQPueNURpEhV1gQlTUqhlgwwWBYWX/727Ta2RntBYOXXJ02d4dSK1+k 4H4lXqTFa5Srl+SS70/7IMdjroHX9Kfrh/ZI+8lql2OMj+ce63KA1TsiRldDYQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLs7c46YyzgVg; Thu, 10 Aug 2023 02:58:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A2wamt074606; Thu, 10 Aug 2023 02:58:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A2waZZ074603; Thu, 10 Aug 2023 02:58:36 GMT (envelope-from git) Date: Thu, 10 Aug 2023 02:58:36 GMT Message-Id: <202308100258.37A2waZZ074603@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 286943c3747f - stable/13 - opensm libopensm: remove non-existent symbols from the version map List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 286943c3747faa4cf8408d1e640bf22ab1bc815d Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=286943c3747faa4cf8408d1e640bf22ab1bc815d commit 286943c3747faa4cf8408d1e640bf22ab1bc815d Author: Konstantin Belousov AuthorDate: 2023-08-03 08:52:06 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-10 02:57:29 +0000 opensm libopensm: remove non-existent symbols from the version map (cherry picked from commit 21d6c29f344d587a99314f9cd960cc008cb3dec4) --- contrib/ofed/opensm/opensm/libopensm.map | 2 -- 1 file changed, 2 deletions(-) diff --git a/contrib/ofed/opensm/opensm/libopensm.map b/contrib/ofed/opensm/opensm/libopensm.map index 087e69ad464a..128f4716db7c 100644 --- a/contrib/ofed/opensm/opensm/libopensm.map +++ b/contrib/ofed/opensm/opensm/libopensm.map @@ -71,7 +71,6 @@ OPENSM_1.5 { osm_dump_pkey_block; osm_dump_pkey_block_v2; osm_log_raw; - osm_get_sm_state_str; osm_get_sm_signal_str; osm_get_disp_msg_str; osm_get_port_state_str_fixed_width; @@ -91,7 +90,6 @@ OPENSM_1.5 { osm_dump_mlnx_ext_port_info_v2; osm_log_v2; osm_log_msg_box_v2; - osm_log_is_active_v2; osm_get_log_per_module; osm_set_log_per_module; osm_reset_log_per_module; From nobody Thu Aug 10 02:58:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLs7f5LcWz4pw5r; Thu, 10 Aug 2023 02:58:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLs7d61Pmz3Hvd; Thu, 10 Aug 2023 02:58:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+f7nkp+o2rperOtat2I9RURAK2xOqA77r5Rv7FnkYUI=; b=ysLGOW8rebhfQbve60AzBgFsw3FV2M1oeLpmfZig0kDfGa9WGdtBN+9mCufXZ59ytcLuhh eTEKm2TIbMWNlf3J9UXFCmbfYWP9cv6CD5Wye2H27r9O/VGUwHBHUUt+HNUYFiJqzqe2cD WNND6ldO6hoyFHMS/bHVZ9MxUyqoZyruDiEH8f+MZF6KE5fJRD5mZoCeuUuExcnGcGhoNe 0qcvc1lXo8x80WG0Iqnyrh59MPT5vPIygqnyEHNmjL5Yj5wdB5igMEI0xjpNdDVJol0wwR zN6TYv77xXkWvpacehlqWmMTgIJ3V3QsxFtSMKI5pqiWm5ID0/uT0p20JVuVfg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691636317; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=+f7nkp+o2rperOtat2I9RURAK2xOqA77r5Rv7FnkYUI=; b=MuqL8HuTuli254IEvzi87nDrvO+U+imfKOpHQ/pqedsWIs3hcEYPzBNDQGloM2/afJHqiv TY/tvXY+IfML1qRTakeZbcN6n5acIpviN/co3CXVvi23yfB2M3nAEkkeQQDu7vmtfrA58Z 9u8BimBeF/9ntGyoiH5ALoiMcLgmMpyoWZvaSk+4jVowkmbTmtmoYD6p2QCJ+/CW2rM9zm ZIsC2EcwPfr6XNnDV51cY/Qw8+B3FByiDYG2a81OBHTIO/F2CvRpmQZlZ/YBBLkQ8PGi4h +GyCOFggRPMicaheznfyA1yjGa1P1Xb9G46poUYl+RBCiLtcOftOoyKpM39vjw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691636317; a=rsa-sha256; cv=none; b=FLnVv/FXJr6kiigRweuMKzMSOvqEOLxs5hLFD1TBPFVcMq8pH5dYJUT97vzlFaGCK73PFO pbUbezFHo0INiOTBYEUCwcVG5FdOO2JD/mAUlDp/7k4YopXwWRHibHiNVwyDZgbLAK5S4s TEzk+JBaiisCdsbd/n0f6GzBZ+lhNVOymF8mDkPoSq05zumcZde70jOls/TYGBk8T9Jni2 ztkp1Ecg/T4KdXy43Q8p4EkH4eVaGlCvrEkxBItAH9D+tWrsx0kKti2ZRnQgfERmg164t/ mxOl4+FdggwPGL4ThE9lTgLQMNL+4SOC8P2WzC7mVClggIRJ6CfzBoP7KtZ28g== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLs7d57ThzgVh; Thu, 10 Aug 2023 02:58:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A2wbUV074654; Thu, 10 Aug 2023 02:58:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A2wbLA074651; Thu, 10 Aug 2023 02:58:37 GMT (envelope-from git) Date: Thu, 10 Aug 2023 02:58:37 GMT Message-Id: <202308100258.37A2wbLA074651@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Konstantin Belousov Subject: git: 21a943407e99 - stable/13 - udf: reject invalid block sizes from lvd List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kib X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 21a943407e9992a219a5fe572ee27fea9f5d2c69 Auto-Submitted: auto-generated The branch stable/13 has been updated by kib: URL: https://cgit.FreeBSD.org/src/commit/?id=21a943407e9992a219a5fe572ee27fea9f5d2c69 commit 21a943407e9992a219a5fe572ee27fea9f5d2c69 Author: Konstantin Belousov AuthorDate: 2023-08-04 22:47:09 +0000 Commit: Konstantin Belousov CommitDate: 2023-08-10 02:57:29 +0000 udf: reject invalid block sizes from lvd PR: 272893 (cherry picked from commit 9e6941a2c7a393aefe6a123952c6eacbc23098a6) --- sys/fs/udf/udf_vfsops.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/sys/fs/udf/udf_vfsops.c b/sys/fs/udf/udf_vfsops.c index 3f6f481dfd6b..65b2ff5b2699 100644 --- a/sys/fs/udf/udf_vfsops.c +++ b/sys/fs/udf/udf_vfsops.c @@ -413,6 +413,11 @@ udf_mountfs(struct vnode *devvp, struct mount *mp) lvd = (struct logvol_desc *)bp->b_data; if (!udf_checktag(&lvd->tag, TAGID_LOGVOL)) { udfmp->bsize = le32toh(lvd->lb_size); + if (udfmp->bsize < 0 || udfmp->bsize > maxbcachebuf) { + printf("lvd block size %d\n", udfmp->bsize); + error = EINVAL; + goto bail; + } udfmp->bmask = udfmp->bsize - 1; udfmp->bshift = ffs(udfmp->bsize) - 1; fsd_part = le16toh(lvd->_lvd_use.fsd_loc.loc.part_num); From nobody Thu Aug 10 04:17:59 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RLtvC4kKgz4q2Bp; Thu, 10 Aug 2023 04:17:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RLtvC4CVpz3TvW; Thu, 10 Aug 2023 04:17:59 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691641079; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z8jPW2LOVOAQYqlRTvG6y12cjw+m+lW7i6g+wQLHYK8=; b=vGdPx4TlT6Az/Ch/4j4klOl7kt+akmSY2DDC7Hg85FaqcQ3Y2/3z3dNmkekfz2U208riVe fN4Jlo0Y2JNEU8mgo+sEh+3AAnbu8eb1wnNQcVD4ibg/v7vSLA6nROMqZnWaFgodO23AL7 tss8RWhi8atZ23Hj3vQYYyeWjWKv8QuNhE/o/bcjoqck2vJ9maEvisrXp+iJdvoM2M+3vn WguC361QotPv3KzsOJTkbGAv6xuEA+WAUJGuYUP2pBwL3SKtJ1Qx4SV+XYpWkq15LUgUvz 0HK1KiP3BPbQr95tG6xX6EBAPskvLAm1Q6tpDB6vdNHmjfs24mGnMbDQtOt0+w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691641079; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=z8jPW2LOVOAQYqlRTvG6y12cjw+m+lW7i6g+wQLHYK8=; b=xA7a6ORDfq5KQcQ+iV2TSTBmoDg0KSeraqpej3goxj2hFYS1scOHXuyg0dQJUv74wEfVcV QW/Lt6e+QipJbA0RVpI9wY7l3XAvqFLy0A9PUrgu+Vz4Y4F/wMwejprFCSWMHTgV+PkstJ 4TlkLNCS2jEqW7vByVYF7eNalqL1jBmq8ZAYv1/5jlAoRBiEa+EFjBQbULZ8SGewO7UFE3 I5hc/4uC+hW6L6cbWVxfVhRZOiMIO8AKo68xqkBvM3e9eRfT7MdiddGaHgDf855OrRuy7V Sc5tz/Tmq/8AaJvSpcSXHMDnXSaGBRtca8vx/9bDV//wTObPVF9SrHZJ0LO70g== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691641079; a=rsa-sha256; cv=none; b=t1BtcRermeXQSckAGkoaLglo0v/qf9Lq41pTZKnVFE+fbW1yqzPmf1BtWljDJJCNCGJ2eq 5DSRV98B4HQVitgrAj6H0xWmZNCKp6nqsbVe6MqBF2MYyFO+oQGK1m01uDGfORlfbsz+WR Xr1HUIhvnkYuEy/oCBXrdZZdNhoczaNf7SIBjJrnNlOLNuFCVnVSnQo31HTufn49NjgMNq ktADJik2R7wciccPFkx/EtzIqXMJa0Kpuz/Zy6NQm7LxRAGvRyk33/CwzHuRtCXw+77kOT kkTlEtsEJPYWSuRooBqyUjtAXxwG/3464c30QfBVqSQqzrlk+YoZS0A5doU86w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RLtvC3GlMzjhr; Thu, 10 Aug 2023 04:17:59 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37A4Hx6x009641; Thu, 10 Aug 2023 04:17:59 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37A4Hx6c009638; Thu, 10 Aug 2023 04:17:59 GMT (envelope-from git) Date: Thu, 10 Aug 2023 04:17:59 GMT Message-Id: <202308100417.37A4Hx6c009638@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Gordon Bergling Subject: git: b9dd766aa8e6 - stable/13 - arm64-iommu: Fix a typo in a kernel message List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: gbe X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: b9dd766aa8e6ede5c46aaf307ccacbc7454d4049 Auto-Submitted: auto-generated The branch stable/13 has been updated by gbe: URL: https://cgit.FreeBSD.org/src/commit/?id=b9dd766aa8e6ede5c46aaf307ccacbc7454d4049 commit b9dd766aa8e6ede5c46aaf307ccacbc7454d4049 Author: Gordon Bergling AuthorDate: 2023-08-04 11:52:36 +0000 Commit: Gordon Bergling CommitDate: 2023-08-10 04:17:43 +0000 arm64-iommu: Fix a typo in a kernel message - s/endianess/endianness/ (cherry picked from commit f0ab805200fc304e4255fc68f9fb8d5400de84ce) --- sys/arm64/iommu/smmu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/sys/arm64/iommu/smmu.c b/sys/arm64/iommu/smmu.c index e3b7a14e705f..edb126184751 100644 --- a/sys/arm64/iommu/smmu.c +++ b/sys/arm64/iommu/smmu.c @@ -1316,7 +1316,7 @@ smmu_check_features(struct smmu_softc *sc) switch (reg & IDR0_TTENDIAN_M) { case IDR0_TTENDIAN_MIXED: if (bootverbose) - device_printf(sc->dev, "Mixed endianess supported.\n"); + device_printf(sc->dev, "Mixed endianness supported.\n"); sc->features |= SMMU_FEATURE_TT_LE; sc->features |= SMMU_FEATURE_TT_BE; break; From nobody Thu Aug 10 13:38:57 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RM7LT65cGz4mHYp; Thu, 10 Aug 2023 13:38:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RM7LT5ZTVz3R7j; Thu, 10 Aug 2023 13:38:57 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691674737; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0cHfThhFq/yjuqcbkCAXzWH5PR7p0ukl43u9vYaBqc8=; b=Yzvf8gBHqJwrlcSk937Q80BRZFR4LE1SEGZTXZF6N5RXLIpozaiuy2IE4PtX4U/myzm519 NQbtPzlIAaFco2uzqMy2xsTlH+1tQoSJRnwp/FgULtQZftRrtvG+rdSM2Jrqf3KgW4OOH9 kYyAZgH09JZhYVU2W/Hp51cjxI3lEbuucEfIQLrgdeq/YwYNu3JednUrNY8Jk9Ej6XKD4X 80WlTz110eE09GMtQbc3mCwjaaL8BxPz9yCmCu7vDioZuIF6fR+fI9ao/1ZnwLtJp7MyRb 8dcKR+hYTKZOOoP+SJbWCm46lhgUfZaxxUBpTMyU2AoYRvCoUoSak1+pRH5kTg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691674737; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=0cHfThhFq/yjuqcbkCAXzWH5PR7p0ukl43u9vYaBqc8=; b=fKJKtGkjGeRAmy0nu1YbhnA/ihcY2a84KTe8d++g9iGj2f9opsqP7pws3+vis8JM+P27mb olljiRLr3e9ub/WfQCpIsfPFOADtIzmnNTwBdZrybVtRbfUYxHiLpAP8hgyVlBp2x7RLIr wdRUse7bjU+1N4h1Jn1ou62lZxEY4wcHylDVpy9R7uG/EUgLPKxAeYuOaclwbdjqFDyd+H o4GJwn3cfNxO1ZwXq/Xg5KZnaufwsqGl976TEyn+AeA7fci7eRDUbQhcZ8Z5oCIHY9Vj/I tWV7r7BIHTg2Qr7L0a1Rs3mZ1bD3CQiu69AMohBeDcxUrPhbG1Tzlsd1lIYm7A== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691674737; a=rsa-sha256; cv=none; b=OIM4znLz6BpzpvYIV2gkAakVfuUKs6CI4L64mtloCwALCTkH72d4pEOHxcg9jmd11CydpB Z8RD/3s9LyAarPxv5VHsMLN0/XPA/n2Aahl7qmeeYwToldIxWiyr2m3WndgWJ+DQsQFIdd DHvtMC9X9uvp/PH+gZoa0Y0n2eytSDMRu9uOaIJgaGNbyoiOR06rds/KvrXAYCC+eR/0FO jJJ5BMucMeW/lTUmPhncT0chi882+stPUemaw+WX+faqQdjuk7jCnbF1PBY0ezugma+7K0 b114heSup+0qPW3vLkka4HTYEmBEdUkgUZk5aTh4uT/8eaFJ//9tskAemmKihw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RM7LT3xBXz10D2; Thu, 10 Aug 2023 13:38:57 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37ADcvcB042746; Thu, 10 Aug 2023 13:38:57 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37ADcvYw042743; Thu, 10 Aug 2023 13:38:57 GMT (envelope-from git) Date: Thu, 10 Aug 2023 13:38:57 GMT Message-Id: <202308101338.37ADcvYw042743@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Ed Maste Subject: git: 8ae81fa9c4bc - stable/13 - inet.3: remove mention of VAX endianness List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: emaste X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 8ae81fa9c4bc162bf505b80ef6e389d4e87ef6ec Auto-Submitted: auto-generated The branch stable/13 has been updated by emaste: URL: https://cgit.FreeBSD.org/src/commit/?id=8ae81fa9c4bc162bf505b80ef6e389d4e87ef6ec commit 8ae81fa9c4bc162bf505b80ef6e389d4e87ef6ec Author: Ed Maste AuthorDate: 2023-08-01 17:20:12 +0000 Commit: Ed Maste CommitDate: 2023-08-10 13:38:36 +0000 inet.3: remove mention of VAX endianness Machine endianness is not very important in understanding the inet* functions; the endianness of the VAX is especially so. PR: 272728 Sponsored by: The FreeBSD Foundation (cherry picked from commit 89c762c815dae64a39221956070af549b11ceb80) --- lib/libc/net/inet.3 | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/lib/libc/net/inet.3 b/lib/libc/net/inet.3 index cb44394d0a0c..7a5d888a4951 100644 --- a/lib/libc/net/inet.3 +++ b/lib/libc/net/inet.3 @@ -191,17 +191,6 @@ a When four parts are specified, each is interpreted as a byte of data and assigned, from left to right, to the four bytes of an Internet address. -Note -that when an Internet address is viewed as a 32-bit -integer quantity on the -.Tn VAX -the bytes referred to -above appear as -.Dq Li d.c.b.a . -That is, -.Tn VAX -bytes are -ordered from right to left. .Pp When a three part address is specified, the last part is interpreted as a 16-bit quantity and placed From nobody Fri Aug 11 10:09:01 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMfdn67dQz4pqhS; Fri, 11 Aug 2023 10:09:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMfdn5bwgz3Vvk; Fri, 11 Aug 2023 10:09:01 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691748541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gn+IvT9oVs8JJ/qM1ZAmMu3rGx4fH9/rSytQPegdp5c=; b=IV6IscloiOTjoEtf+AThurPqQiovUCr0uoYzlKlkQhDcvPsTh52l2T4+dwQPD9tb12uTdn I+2niKsXIFwYaMuCtx34X2IyYs74TatHGDVWgpN6ULZZYLsuLLVdCujRxdwFRsaf6mtJIN 28wXWS/UhptAaPvNMwyynYis1Ckwr2OFS0wqn7kBX3qP0jvC8ZfBGYgXUsDuaVHdxutk8y xtcLIq4vQFlrpGBon6wSZoGCLC+VGJTyaLrWqKZaUjSV/ss+UWzt3dSg1o2N731rP6pDaj 1seIsDIMV2glWM7jFOftgpxtMAv2LVJYOxn/nBrZf7JO0H9aJMVFeTtXXjXAOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691748541; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=Gn+IvT9oVs8JJ/qM1ZAmMu3rGx4fH9/rSytQPegdp5c=; b=FJ6m1VjFSDtybHvZVI105vOmJADg21GFrIMHWV2NKIb5R6GLMR28eXIK30Q9mGBwQja579 8/qg+2Rh2rbmK3WdRatxnuYTAYojncXkW8cy9g7ov2fOwmejfQzLSJKbMe4F8xhfGH+zoj rdyEUUel0HTmPtYqfdGc1a+HWcuZ9ggCw5d+4L6mL21WKgF7OSM+ZypfsyVLHSeaU2CRpq ZoCEvrcNEOxi3e0ZOSkW6j/7S92Xe0jKJ8iImkb+JBa4GrBseOQUOYPZuErUIe1m0CfJbo cP6Mo6BGWib6CbNOLNtXNOG3R/t4CC/EMBeBtaqPy5OvSK+yUjuETRt14yUj3Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691748541; a=rsa-sha256; cv=none; b=c5vC5QiGQ7sKqA8t/9lKZFGDhhZjmFFZx+ZbIz5pfjR1faCTNh2tmZBeutu70tlkNffAbu 81Ge9UiFx02CtwOEBJpIAvuxnTqHgA4FndjLAQe77pqe/59/nyYVHwJi6KcQr6KqG+6LRV jAR2MIojOerV6kpPUnJjCxB2+BjgdADdg4iiJwCQ1fNKRmWe53BiMkndPoi1/xjdsbgBDE 4lssU2oC3g+/5sw9foXPvmyO7tt7/TjyF6EPGv3fZi4ZPdz1LU2l2ZpF22cXtOMXiwQwLT vEtVMy9CImbKd+8dwXX1DyB4K5RY6CTxKC1J2cjfokAkYYC+lml539S9r6+uig== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMfdn4fsvzb8N; Fri, 11 Aug 2023 10:09:01 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BA91uV093773; Fri, 11 Aug 2023 10:09:01 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BA91SR093770; Fri, 11 Aug 2023 10:09:01 GMT (envelope-from git) Date: Fri, 11 Aug 2023 10:09:01 GMT Message-Id: <202308111009.37BA91SR093770@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 455b78443ee5 - stable/13 - linux: binutils as requires %eflags instead of %flags for CFI. List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 455b78443ee5612557f3f076c6d27c79de9ec1e7 Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=455b78443ee5612557f3f076c6d27c79de9ec1e7 commit 455b78443ee5612557f3f076c6d27c79de9ec1e7 Author: John Baldwin AuthorDate: 2023-06-30 16:36:16 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-11 10:08:10 +0000 linux: binutils as requires %eflags instead of %flags for CFI. This applies the changes to linux32_locore.asm from commit a35572b16e38 to the i386 copy. (cherry picked from commit f4de136aa82978107aa98f91ca1928870b7d310a) --- sys/i386/linux/linux_locore.asm | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/i386/linux/linux_locore.asm b/sys/i386/linux/linux_locore.asm index 9aef5ad21d26..bebd05686149 100644 --- a/sys/i386/linux/linux_locore.asm +++ b/sys/i386/linux/linux_locore.asm @@ -23,7 +23,11 @@ ENTRY(linux_vdso_sigcode) .cfi_offset %ds, L_SC_DS .cfi_offset %cs, L_SC_CS .cfi_offset %ss, L_SC_SS +#ifdef __clang__ .cfi_offset %flags, L_SC_EFLAGS +#else + .cfi_offset %eflags, L_SC_EFLAGS +#endif .cfi_offset %edi, L_SC_EDI .cfi_offset %esi, L_SC_ESI .cfi_offset %ebp, L_SC_EBP @@ -54,7 +58,11 @@ ENTRY(linux_vdso_rt_sigcode) .cfi_offset %ds, L_SC_DS .cfi_offset %cs, L_SC_CS .cfi_offset %ss, L_SC_SS +#ifdef __clang__ .cfi_offset %flags, L_SC_EFLAGS +#else + .cfi_offset %eflags, L_SC_EFLAGS +#endif .cfi_offset %edi, L_SC_EDI .cfi_offset %esi, L_SC_ESI .cfi_offset %ebp, L_SC_EBP From nobody Fri Aug 11 10:09:02 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMfdq275vz4pqv6; Fri, 11 Aug 2023 10:09:03 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMfdp6hgcz3Vsj; Fri, 11 Aug 2023 10:09:02 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691748542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6fOLL4sP4cDiX8eiqglMZB79glWtvAxA3kTdZeq1KMU=; b=NhI8lu60fCvzUZpuy0PuB3JF/8rCV2fyxTkAiBjpcOvTOgoGIV9tKr6fBuBmLuDISMWGhe 74S+NAhouNSQij4WVgv5B8rOldCplw7fnmbX0NYa9FhPZ7DGhNyE0R84Z8y2NHfknedSjz hq3autkBZvCBdgzBGPp/amUkrpGEWD/e2DYvi9PDZL9Mjx+tmENcvywTHbo9n1CNCWibGM S6CEA3mXSheDr/5+kkQwaKhWOjpgt7ZRDD2W4hXHK0lzpakQveIBRKo/I49KxsoNJIon3/ R8x3f0PYmPOOOXqpaVnMn4CH/0HhLl0XuYVmMs63o0XqAwvrhNfNy68liOiV1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691748542; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=6fOLL4sP4cDiX8eiqglMZB79glWtvAxA3kTdZeq1KMU=; b=vAM80zGojhJrCFENx/DnldsOGbqnkogJbP9Wtej+cnE3maY2xYkcBn1L3DyG2RGoXz83/z OQc5fZRD1IhOwEawpYVdQaYi9Wlf6a8u2BbUG1hMubPOgyW+iKOUlGNUokWPXqOhnj8fOz kqgui2LjOMjgvLsak1uX1MF7C4BjCEBhZcVjBeZ79/GwXSgnAp9eHxuFBSab+isZxbsSIa YneLpp7je5p0W4yrDt3EiNKUzO+TpgnU6sBC8NZeJNwkfkgJDGOYZp7tStPK5LZCfYIrJf Zu1j7Erw+l9CJnVLB/3wtEHE4aetBCtCwiaZMfqEhq5qWo/559Pwa3UoFlRsfw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691748542; a=rsa-sha256; cv=none; b=aBFW8CXDWFqk3KU22W07naQddsDJqEZeDADoLxe2PNs7ZqqTUpqrGT0a3CexT9Kyrt8N5P hkOEla1XyU3iVOtcV9KeQA8ecRM8TV/FAa+tfLSj00bJHV7wufZ3OEovA66BCP8PsDYn8P OPNULzm5UW9gA25+Rk60rS98R4c34++16JpjcB5t5wdpSSPONS5G3y+dJPTP57CLfs5k5Q BmkE11libYEDRqzBcBPe+5rzn2wL4HaOdNJhqlA6Nhx3CQ7b6/Y52NIWKqudV2PUzIiQpw xJsAlCxha0Frwj4imE4VlCK5ok8hDvyM7JtiqerVrhtJLq2IAWrNv0KwKKoNTg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMfdp5gNBzbLC; Fri, 11 Aug 2023 10:09:02 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BA92hN093817; Fri, 11 Aug 2023 10:09:02 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BA92oG093814; Fri, 11 Aug 2023 10:09:02 GMT (envelope-from git) Date: Fri, 11 Aug 2023 10:09:02 GMT Message-Id: <202308111009.37BA92oG093814@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Dmitry Chagin Subject: git: 97cbac33c6d2 - stable/13 - linux(4): Add elf_hwcap2 to x86 List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: dchagin X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 97cbac33c6d223617b0084a64bd55b0e3b8ec549 Auto-Submitted: auto-generated The branch stable/13 has been updated by dchagin: URL: https://cgit.FreeBSD.org/src/commit/?id=97cbac33c6d223617b0084a64bd55b0e3b8ec549 commit 97cbac33c6d223617b0084a64bd55b0e3b8ec549 Author: Dmitry Chagin AuthorDate: 2023-07-28 08:56:59 +0000 Commit: Dmitry Chagin CommitDate: 2023-08-11 10:08:31 +0000 linux(4): Add elf_hwcap2 to x86 On x86 Linux via AT_HWCAP2 the user controlled (by tunables) processor capabilities are exposed. Reviewed by: Differential Revision: https://reviews.freebsd.org/D41165 MFC after: 2 weeks (cherry picked from commit 4281dab8bc11b3b2f3b58be5e0f67806329bddae) --- sys/amd64/linux/linux_sysvec.c | 2 +- sys/amd64/linux32/linux32_sysvec.c | 2 +- sys/i386/linux/linux.h | 2 +- sys/i386/linux/linux_sysvec.c | 1 + sys/x86/linux/linux_x86.c | 18 +++++++++++++++++- sys/x86/linux/linux_x86.h | 6 ++++++ 6 files changed, 27 insertions(+), 4 deletions(-) diff --git a/sys/amd64/linux/linux_sysvec.c b/sys/amd64/linux/linux_sysvec.c index 290e21247b0d..dde7ae571524 100644 --- a/sys/amd64/linux/linux_sysvec.c +++ b/sys/amd64/linux/linux_sysvec.c @@ -232,7 +232,7 @@ linux64_arch_copyout_auxargs(struct image_params *imgp, Elf_Auxinfo **pos) AUXARGS_ENTRY((*pos), LINUX_AT_SYSINFO_EHDR, linux_vdso_base); AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP, cpu_feature); - AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP2, 0); + AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP2, linux_x86_elf_hwcap2()); AUXARGS_ENTRY((*pos), LINUX_AT_PLATFORM, PTROUT(linux_platform)); } diff --git a/sys/amd64/linux32/linux32_sysvec.c b/sys/amd64/linux32/linux32_sysvec.c index 2a7860cc3381..da5f585a2696 100644 --- a/sys/amd64/linux32/linux32_sysvec.c +++ b/sys/amd64/linux32/linux32_sysvec.c @@ -146,7 +146,7 @@ linux32_arch_copyout_auxargs(struct image_params *imgp, Elf_Auxinfo **pos) AUXARGS_ENTRY((*pos), LINUX_AT_SYSINFO, __kernel_vsyscall); AUXARGS_ENTRY((*pos), LINUX_AT_SYSINFO_EHDR, linux_vdso_base); AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP, cpu_feature); - AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP2, 0); + AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP2, linux_x86_elf_hwcap2()); AUXARGS_ENTRY((*pos), LINUX_AT_PLATFORM, PTROUT(linux_platform)); } diff --git a/sys/i386/linux/linux.h b/sys/i386/linux/linux.h index 4784be5b0f77..dff4ed449943 100644 --- a/sys/i386/linux/linux.h +++ b/sys/i386/linux/linux.h @@ -94,7 +94,7 @@ typedef struct { /* * Miscellaneous */ -#define LINUX_AT_COUNT 21 /* Count of used aux entry types. +#define LINUX_AT_COUNT 22 /* Count of used aux entry types. * Keep this synchronized with * linux_copyout_auxargs() code. */ diff --git a/sys/i386/linux/linux_sysvec.c b/sys/i386/linux/linux_sysvec.c index c486fe1a09a5..09f11340b414 100644 --- a/sys/i386/linux/linux_sysvec.c +++ b/sys/i386/linux/linux_sysvec.c @@ -145,6 +145,7 @@ linux32_arch_copyout_auxargs(struct image_params *imgp, Elf_Auxinfo **pos) AUXARGS_ENTRY((*pos), LINUX_AT_SYSINFO_EHDR, linux_vdso_base); AUXARGS_ENTRY((*pos), LINUX_AT_SYSINFO, __kernel_vsyscall); AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP, cpu_feature); + AUXARGS_ENTRY((*pos), LINUX_AT_HWCAP2, linux_x86_elf_hwcap2()); AUXARGS_ENTRY((*pos), LINUX_AT_PLATFORM, PTROUT(linux_platform)); } diff --git a/sys/x86/linux/linux_x86.c b/sys/x86/linux/linux_x86.c index 34ae66ec4954..c72102d9f426 100644 --- a/sys/x86/linux/linux_x86.c +++ b/sys/x86/linux/linux_x86.c @@ -31,7 +31,9 @@ __FBSDID("$FreeBSD$"); #include #include +#include #include +#include #include @@ -96,4 +98,18 @@ bsd_to_linux_trapcode(int code) return (code < nitems(_bsd_to_linux_trapcode) ? _bsd_to_linux_trapcode[code] : LINUX_T_UNKNOWN); -} \ No newline at end of file +} + +u_int +linux_x86_elf_hwcap2(void) +{ + static u_int elf_hwcap2 = 0; + static bool elf_hwcap2_valid = false; + + if (!elf_hwcap2_valid) { + if ((cpu_stdext_feature & CPUID_STDEXT_FSGSBASE) != 0) + elf_hwcap2 |= LINUX_HWCAP2_FSGSBASE; + elf_hwcap2_valid = true; + } + return (elf_hwcap2); +} diff --git a/sys/x86/linux/linux_x86.h b/sys/x86/linux/linux_x86.h index 2763b60f1649..5ce0852d9a18 100644 --- a/sys/x86/linux/linux_x86.h +++ b/sys/x86/linux/linux_x86.h @@ -32,10 +32,16 @@ #define LINUX_VDSO_CPU_RDPID 1 #define LINUX_VDSO_CPU_RDTSCP 2 +/* More machine dependent hints about processor capabilities. */ +#define LINUX_HWCAP2_RING3MWAIT 0x00000001 +#define LINUX_HWCAP2_FSGSBASE 0x00000002 + int linux_vdso_tsc_selector_idx(void); int linux_vdso_cpu_selector_idx(void); int linux_translate_traps(int, int); int bsd_to_linux_trapcode(int); +u_int linux_x86_elf_hwcap2(void); + #endif /* _X86_INCLUDE_LINUX_LINUX_X86_H_ */ From nobody Fri Aug 11 12:13:29 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMjPP5xlpz4q10X; Fri, 11 Aug 2023 12:13:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMjPP5Hkrz3gFh; Fri, 11 Aug 2023 12:13:29 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hhBIkpzhJ592mYWj+rQIKdGSxO2d5A9QrntPsmfgPWw=; b=wQaamx+qnpxa4WW7G+uevBYf4+2IRuFHD7wZNqyZSdp3pr+Qoc53qyKf+W6u7aXYRr8sNf 0zPC673AS0fXl/WOhgMkuYMJr5sAOXTH4TBfRbbC1Cy/oWZMiSMOW/4Lv3jGMwSyDhjbWy sFr+lM9C/WZeoeH4OIUB2ctCuXHBiCqqzaTQzjQTOaG9OaJJh2ys9G1h6PqsR93SXbyAwl JaGP72o0P2bQu5mOmhxiCQF4MBMDpvG4inxGJKNa0mDQv66M1jXyWTrH3MtbLAVt6xuc4Y 2+ZzBVimLxSIfXrhCc0ylh+7q+BU5MxC1OUPW7Pw9B3z88TkdreqmpU2fXrixg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756009; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hhBIkpzhJ592mYWj+rQIKdGSxO2d5A9QrntPsmfgPWw=; b=PZK0R5bX6UEO4bmApfMwT8NXnUCAAk/FWkLqMLqH2RpBrGg8kDoQGkT/XbWqVfFYa5IOQN Kt0IeNeysbEBNOKDQRZYzGoaZIkGmY7Uf4GrjITv1f2suH9ZtB29NzBEnrjZhZFhGEsNF0 vZlxceJyq6KRP/zXxdoy8jGQCIFaiKmssWFRIld07ySXzIpm9DzP7HE3lmGwYf0a1HyvG4 /BsjCR8/TN6oViBeb087Y3GSxIRLwXpJg2HM8McbD6ZOE1hL/vjlGdljKlKEBiBafJp95k niIh9JtYqLZEhnQwjtwALc8NwacdIZ2QM6WE9LxWoZZS0mK+mtRpJ5WcCfTnsA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691756009; a=rsa-sha256; cv=none; b=VNOpG3pLYXeE6viIk70h4YAquI8YHU16h+nPjsZlDOYY21/auuEIDYScs4E7DtBMRWF5Bt a/JGFIt9hYd1TPL2yrN1I9jfwHrDJNRQVQjrlaIdoiuiYMRwYjSCjVPkYDyHqIgfUZmraG PTN+Sj1YZAiIlP+ICH/P0FCIKcyGm8kmpMhgaKg3MGSNtWNQICTj0Aa8CbtDOi84kQDLxM mpwfKnmqGwiH+b2XUySc1wbfNFU8uqis4lglg9xjv2v85VHqF1NXqs70Ws+Y/aP/+DwIjl nZFO+BCATilcMziL7MvhpFxrsGrJQ7Cj1q3waPX39XOvwveA3nSDmNP6q0DlLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMjPP4LMQzfLB; Fri, 11 Aug 2023 12:13:29 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BCDTO6008407; Fri, 11 Aug 2023 12:13:29 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BCDTZw008404; Fri, 11 Aug 2023 12:13:29 GMT (envelope-from git) Date: Fri, 11 Aug 2023 12:13:29 GMT Message-Id: <202308111213.37BCDTZw008404@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 836dc3507e0d - stable/13 - pf: use sctp_calculate_cksum() List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 836dc3507e0da06a60762eca8f98c80530eb7173 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=836dc3507e0da06a60762eca8f98c80530eb7173 commit 836dc3507e0da06a60762eca8f98c80530eb7173 Author: Kristof Provost AuthorDate: 2023-07-07 08:04:51 +0000 Commit: Kristof Provost CommitDate: 2023-08-11 12:13:09 +0000 pf: use sctp_calculate_cksum() This function is always available, even if the SCTP or SCTP_SUPPORT options are not set. That lets us remove an ifdef, and also means we improve pf's SCTP handling when the options are not set. MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D40911 (cherry picked from commit 61e22e9b2905f405170c249a2239f324229b60d1) --- sys/netpfil/pf/pf.c | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index c9c0995cc4e7..57c9bb3bf3b1 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -104,9 +104,8 @@ __FBSDID("$FreeBSD$"); #include #endif /* INET6 */ -#if defined(SCTP) || defined(SCTP_SUPPORT) +#include #include -#endif #include #include @@ -412,6 +411,21 @@ VNET_DEFINE(struct intr_event *, pf_swi_ie); VNET_DEFINE(uint32_t, pf_hashseed); #define V_pf_hashseed VNET(pf_hashseed) +static void +pf_sctp_checksum(struct mbuf *m, int off) +{ + uint32_t sum = 0; + + /* Zero out the checksum, to enable recalculation. */ + m_copyback(m, off + offsetof(struct sctphdr, checksum), + sizeof(sum), (caddr_t)&sum); + + sum = sctp_calculate_cksum(m, off); + + m_copyback(m, off + offsetof(struct sctphdr, checksum), + sizeof(sum), (caddr_t)&sum); +} + int pf_addr_cmp(struct pf_addr *a, struct pf_addr *b, sa_family_t af) { @@ -5977,12 +5991,10 @@ pf_route(struct mbuf **m, struct pf_krule *r, int dir, struct ifnet *oifp, in_delayed_cksum(m0); m0->m_pkthdr.csum_flags &= ~CSUM_DELAY_DATA; } -#if defined(SCTP) || defined(SCTP_SUPPORT) if (m0->m_pkthdr.csum_flags & CSUM_SCTP & ~ifp->if_hwassist) { - sctp_delayed_cksum(m0, (uint32_t)(ip->ip_hl << 2)); + pf_sctp_checksum(m0, (uint32_t)(ip->ip_hl << 2)); m0->m_pkthdr.csum_flags &= ~CSUM_SCTP; } -#endif /* * If small enough for interface, or the interface will take From nobody Fri Aug 11 12:13:30 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMjPQ6rZnz4q19w; Fri, 11 Aug 2023 12:13:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMjPQ6Jrsz3gGH; Fri, 11 Aug 2023 12:13:30 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bysG/6fz+gRoYrtVqiYL2r7Pt+vtTkc7tnfb1jqLGsc=; b=ZeAMqhCH2NJD10cmycSLEyY3lfUFf6tYXwlVeokFKN8XELU+vAL2uivucz5ruE3sA3BqUI 26MeYgLwo6XJEdZln4Bc0xqPneFkOtPv6n5++FghM5ZkF4ZPIcN0dSwIxNKJwMC7n7M3PF Hbzy674ISg2fS4FuFyHUtXHxiofKY3hJt+xZ23/Gso/qwqnC+rg3uZs/dFdwNyP5qEJTlI aOP3Jmzuu5jsRPvhPE0s99lbjQIdhYlE06T6W6suaZFIPaMzEqul6J5rdtdQfaYpfVRbp2 SUMLKRFFU+f2xuWvfBsJA7X6gzSK6Nv/IniKB250kYZU5DAfMLP7pa0rDF24Kw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756010; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=bysG/6fz+gRoYrtVqiYL2r7Pt+vtTkc7tnfb1jqLGsc=; b=ZzP2peruu+IvckN9fWYPOnfC8AeGMKuzPgX2rdXNb7Kkr/++auih9Uh5js9tHX8XD84UdT yGjZPE6GCz1TYmz58WyCWo9XIbc/QKVLgjPFED5H5s5siuRDl5OJvTYDzGoQa1z38rEeiX R87iii/+cnjaHJjO74w4vU4bcH1aMfaqJPDqXr1tOUgFEpQYXDIXHAWZ8VJtozdTdCLvvS xhYUN3mc6m0U07xaMbCTAnLDwSyf/4vHo/LbXaNgek6cOtYOOkrbhl5xf77A/Wvqt5P/Zk 0PET6is5oq3urhOCWw/F8CvDacyHqjWxP+J+u5v9B/CMoKO2dDDseZ0G3iYkPg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691756010; a=rsa-sha256; cv=none; b=GBaCuTUESJ6hNKfMmgjKPbUuSoyuz51Uqk0d4+BESPLXvk8OEF0+3ccrLvDIJvOc4kfvLs je9LECDlQO/Ovt8FSLOcRujQhKgYVCTzQ7nKNrgK74IWUJPU5qiOMVUXc5nRlAo6/gI2fc HYE1Rxm4sPVMuf90CrwmF2V32wef9NhZ9wsTWihtLxGkAepDAWxwho3J+aOFEhPEqcJKVZ sZb7jDuE4ijqL6yiaPOzueeP9kFjdlS+VIpLDHWc9336CDyMpBI0JzvpwZ6bNI4Qxa88OI 87jAYP2WWLqEd5w7xreT6Zwzw9cf/TCIg/keHhfJOfzLraM62IsHNw4iw4xLSA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMjPQ5MXZzfJ7; Fri, 11 Aug 2023 12:13:30 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BCDUZF008459; Fri, 11 Aug 2023 12:13:30 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BCDUXx008456; Fri, 11 Aug 2023 12:13:30 GMT (envelope-from git) Date: Fri, 11 Aug 2023 12:13:30 GMT Message-Id: <202308111213.37BCDUXx008456@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 9b14d6c17355 - stable/13 - pfctl: SCTP can have port numbers List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9b14d6c17355d0f516991cefd240bf51e8c26959 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9b14d6c17355d0f516991cefd240bf51e8c26959 commit 9b14d6c17355d0f516991cefd240bf51e8c26959 Author: Kristof Provost AuthorDate: 2023-04-26 14:59:40 +0000 Commit: Kristof Provost CommitDate: 2023-08-11 12:13:09 +0000 pfctl: SCTP can have port numbers MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D40861 (cherry picked from commit 0bd4a6837c4bc3dd6168c5679c21c58d41a6910e) --- sbin/pfctl/parse.y | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/sbin/pfctl/parse.y b/sbin/pfctl/parse.y index 043f8faee27b..1a7ce483ef7f 100644 --- a/sbin/pfctl/parse.y +++ b/sbin/pfctl/parse.y @@ -4797,8 +4797,9 @@ filter_consistent(struct pfctl_rule *r, int anchor_call) int problems = 0; if (r->proto != IPPROTO_TCP && r->proto != IPPROTO_UDP && + r->proto != IPPROTO_SCTP && (r->src.port_op || r->dst.port_op)) { - yyerror("port only applies to tcp/udp"); + yyerror("port only applies to tcp/udp/sctp"); problems++; } if (r->proto != IPPROTO_ICMP && r->proto != IPPROTO_ICMPV6 && @@ -4865,17 +4866,18 @@ rdr_consistent(struct pfctl_rule *r) { int problems = 0; - if (r->proto != IPPROTO_TCP && r->proto != IPPROTO_UDP) { + if (r->proto != IPPROTO_TCP && r->proto != IPPROTO_UDP && + r->proto != IPPROTO_SCTP) { if (r->src.port_op) { - yyerror("src port only applies to tcp/udp"); + yyerror("src port only applies to tcp/udp/sctp"); problems++; } if (r->dst.port_op) { - yyerror("dst port only applies to tcp/udp"); + yyerror("dst port only applies to tcp/udp/sctp"); problems++; } if (r->rpool.proxy_port[0]) { - yyerror("rpool port only applies to tcp/udp"); + yyerror("rpool port only applies to tcp/udp/sctp"); problems++; } } @@ -6350,6 +6352,8 @@ getservice(char *n) s = getservbyname(n, "tcp"); if (s == NULL) s = getservbyname(n, "udp"); + if (s == NULL) + s = getservbyname(n, "sctp"); if (s == NULL) { yyerror("unknown port %s", n); return (-1); From nobody Fri Aug 11 12:13:31 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMjPR6wnkz4TjQw; Fri, 11 Aug 2023 12:13:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMjPR6nDmz3gcS; Fri, 11 Aug 2023 12:13:31 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Fc+ajbCLwHIF8RjOQE5RlWXjdVjeXyl9kTy7WPCQGc=; b=c1da54BuyvFWOnyqa5jV1txKVPlPcWB9VEU0Lg/L+G7KIrNDHwTmUKICmGARwG73q/cEqD I9VA7DbAUB+2CWU2zLlhUmGgADtgV1bB8JmmqD6/CpCGHGySUoDXIfMhTsaPsDzyez3BYG p+Acs1yIPZPdtp94OxMbct+c4poVtBi6FHKOQpFycR1XaO1Ppwo4pNJj39VRDn+dqB0hmA wTIkUifrz2NHJPJW2n0278bdUnnSTID4OaVOOFMG0cZa6tvEXg37ayqHHkNEBcudeUJ82s 46Ob1q1DCkbcexzQ/xMf7QiyTNlYlPlG4XmkmjFPRXABBe8e0QcO0glJWSKx7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756011; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=3Fc+ajbCLwHIF8RjOQE5RlWXjdVjeXyl9kTy7WPCQGc=; b=KRWnvceg+uyqkewKUpdKM5OqbW6hLxuemmlk005Uyu2IJL5+mqqDW6Re2hUQqbAfhszzhS R0FSFIVB9fB2Te3+Qyn9IsoLGB2amnIfZLGXad1j0bQYkNl3Yo03FJ+sAVc/ycnPicyJ02 xgUNk5wHU6AAjTte1gvQggIvmvTvdObsFjqh6cp/A5imbJjKAX8Gffc7cY+ZfamuBrGy65 nBgcYOGCzLWfCTsuqiwAGheF4hoBXfziHNz1fpWEl/YV2xh6N6BZiAYKVoa+GJM5vafBCn OrNwPl6wdbg0CjDzn+xoYESmiuWQbr49wbG3fEHUxiv6jV3srN+o0En3MigH5Q== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691756011; a=rsa-sha256; cv=none; b=PReX390Iaj0NRdayklYOVfhxlHkpRPE6PAZxh0CkSEPCmaP1alXSLxCbzuDdMoGpHnjoC6 wEAODqIMjYXFxaTK71COYLw7qkh2emK3YG1xp+7yivfdodc0ephW6s7WHR8US9ppfV344Y ysw5vfRy5wTWHpDzej/BiHlmSsCD8EP55LhhJh4s6X4bJf2rQMAfqdDkj/zxMIMTjTi5AO +0vuUrNCHD25jl3cylom06DPmKnb0GjPUX/9Bjq0BFU2nTzjrdQupGKGB1YXQLTPCl2a8X a7SXC5zbwUKIzKxhoV7iO2NHGKhe66nzH9pbdV3ryn5f4qyHDh1UjbvaLZMhiA== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMjPR5s6rzdgT; Fri, 11 Aug 2023 12:13:31 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BCDV8M008498; Fri, 11 Aug 2023 12:13:31 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BCDVGm008495; Fri, 11 Aug 2023 12:13:31 GMT (envelope-from git) Date: Fri, 11 Aug 2023 12:13:31 GMT Message-Id: <202308111213.37BCDVGm008495@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 9b60a37c1e9b - stable/13 - pf: initial SCTP support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 9b60a37c1e9b77162cf3816ef32a50345c111c59 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=9b60a37c1e9b77162cf3816ef32a50345c111c59 commit 9b60a37c1e9b77162cf3816ef32a50345c111c59 Author: Kristof Provost AuthorDate: 2023-04-27 08:58:02 +0000 Commit: Kristof Provost CommitDate: 2023-08-11 12:13:09 +0000 pf: initial SCTP support Basic state tracking for SCTP. This means we scan through the packet to identify the different chunks (so we can identify state changes). MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D40862 (cherry picked from commit 010ee43f5673eea4c86f846893eadc3c5529b2f8) --- sbin/pfctl/pf_print_state.c | 34 +++++++++ sys/net/pfvar.h | 13 ++++ sys/netpfil/pf/pf.c | 133 ++++++++++++++++++++++++++++++++ sys/netpfil/pf/pf_norm.c | 180 ++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 360 insertions(+) diff --git a/sbin/pfctl/pf_print_state.c b/sbin/pfctl/pf_print_state.c index b66a296d6080..a6c1ab9bf267 100644 --- a/sbin/pfctl/pf_print_state.c +++ b/sbin/pfctl/pf_print_state.c @@ -41,6 +41,7 @@ __FBSDID("$FreeBSD$"); #include #define TCPSTATES #include +#include #include #include #include @@ -206,6 +207,36 @@ print_seq(struct pfctl_state_peer *p) p->seqhi - p->seqlo); } + +static const char * +sctp_state_name(int state) +{ + switch (state) { + case SCTP_CLOSED: + return ("CLOSED"); + case SCTP_BOUND: + return ("BOUND"); + case SCTP_LISTEN: + return ("LISTEN"); + case SCTP_COOKIE_WAIT: + return ("COOKIE_WAIT"); + case SCTP_COOKIE_ECHOED: + return ("COOKIE_ECHOED"); + case SCTP_ESTABLISHED: + return ("ESTABLISHED"); + case SCTP_SHUTDOWN_SENT: + return ("SHUTDOWN_SENT"); + case SCTP_SHUTDOWN_RECEIVED: + return ("SHUTDOWN_RECEIVED"); + case SCTP_SHUTDOWN_ACK_SENT: + return ("SHUTDOWN_ACK_SENT"); + case SCTP_SHUTDOWN_PENDING: + return ("SHUTDOWN_PENDING"); + default: + return ("?"); + } +} + void print_state(struct pfctl_state *s, int opts) { @@ -300,6 +331,9 @@ print_state(struct pfctl_state *s, int opts) const char *states[] = PFUDPS_NAMES; printf(" %s:%s\n", states[src->state], states[dst->state]); + } else if (proto == IPPROTO_SCTP) { + printf(" %s:%s\n", sctp_state_name(src->state), + sctp_state_name(dst->state)); #ifndef INET6 } else if (proto != IPPROTO_ICMP && src->state < PFOTHERS_NSTATES && dst->state < PFOTHERS_NSTATES) { diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 4b7f34122337..55bd25a3d29e 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -56,6 +56,7 @@ #include #include #include +#include #include #include #endif @@ -1290,6 +1291,7 @@ struct pf_pdesc { union pf_headers { struct tcphdr tcp; struct udphdr udp; + struct sctphdr sctp; struct icmp icmp; #ifdef INET6 struct icmp6_hdr icmp6; @@ -1319,6 +1321,15 @@ struct pf_pdesc { u_int8_t dir; /* direction */ u_int8_t sidx; /* key index for source */ u_int8_t didx; /* key index for destination */ +#define PFDESC_SCTP_INIT 0x0001 +#define PFDESC_SCTP_INIT_ACK 0x0002 +#define PFDESC_SCTP_COOKIE 0x0004 +#define PFDESC_SCTP_ABORT 0x0008 +#define PFDESC_SCTP_SHUTDOWN 0x0010 +#define PFDESC_SCTP_SHUTDOWN_COMPLETE 0x0020 +#define PFDESC_SCTP_DATA 0x0040 +#define PFDESC_SCTP_OTHER 0x0080 + u_int16_t sctp_flags; }; #endif @@ -2013,6 +2024,8 @@ int pf_normalize_tcp_init(struct mbuf *, int, struct pf_pdesc *, int pf_normalize_tcp_stateful(struct mbuf *, int, struct pf_pdesc *, u_short *, struct tcphdr *, struct pf_kstate *, struct pf_state_peer *, struct pf_state_peer *, int *); +int pf_normalize_sctp(int, struct pfi_kkif *, struct mbuf *, int, + int, void *, struct pf_pdesc *); u_int32_t pf_state_expires(const struct pf_kstate *); void pf_purge_expired_fragments(void); diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 57c9bb3bf3b1..16e0ee762f6a 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -290,6 +290,9 @@ static int pf_test_state_udp(struct pf_kstate **, int, static int pf_test_state_icmp(struct pf_kstate **, int, struct pfi_kkif *, struct mbuf *, int, void *, struct pf_pdesc *, u_short *); +static int pf_test_state_sctp(struct pf_kstate **, + struct pfi_kkif *, struct mbuf *, int, + void *, struct pf_pdesc *, u_short *); static int pf_test_state_other(struct pf_kstate **, int, struct pfi_kkif *, struct mbuf *, struct pf_pdesc *); static u_int16_t pf_calc_mss(struct pf_addr *, sa_family_t, @@ -3700,6 +3703,11 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, int direction, dport = pd->hdr.udp.uh_dport; hdrlen = sizeof(pd->hdr.udp); break; + case IPPROTO_SCTP: + sport = pd->hdr.sctp.src_port; + dport = pd->hdr.sctp.dest_port; + hdrlen = sizeof(pd->hdr.sctp); + break; #ifdef INET case IPPROTO_ICMP: if (pd->af != AF_INET) @@ -4138,6 +4146,11 @@ pf_create_state(struct pf_krule *r, struct pf_krule *nr, struct pf_krule *a, pf_set_protostate(s, PF_PEER_DST, PFUDPS_NO_TRAFFIC); s->timeout = PFTM_UDP_FIRST_PACKET; break; + case IPPROTO_SCTP: + pf_set_protostate(s, PF_PEER_SRC, SCTP_COOKIE_WAIT); + pf_set_protostate(s, PF_PEER_DST, SCTP_CLOSED); + s->timeout = PFTM_TCP_FIRST_PACKET; + break; case IPPROTO_ICMP: #ifdef INET6 case IPPROTO_ICMPV6: @@ -5693,6 +5706,66 @@ pf_test_state_icmp(struct pf_kstate **state, int direction, struct pfi_kkif *kif } } +static int +pf_test_state_sctp(struct pf_kstate **state, struct pfi_kkif *kif, + struct mbuf *m, int off, void *h, struct pf_pdesc *pd, u_short *reason) +{ + struct pf_state_key_cmp key; + struct pf_state_peer *src; //, *dst; + struct sctphdr *sh = &pd->hdr.sctp; + u_int8_t psrc; //, pdst; + + bzero(&key, sizeof(key)); + key.af = pd->af; + key.proto = IPPROTO_SCTP; + if (pd->dir == PF_IN) { /* wire side, straight */ + PF_ACPY(&key.addr[0], pd->src, key.af); + PF_ACPY(&key.addr[1], pd->dst, key.af); + key.port[0] = sh->src_port; + key.port[1] = sh->dest_port; + } else { /* stack side, reverse */ + PF_ACPY(&key.addr[1], pd->src, key.af); + PF_ACPY(&key.addr[0], pd->dst, key.af); + key.port[1] = sh->src_port; + key.port[0] = sh->dest_port; + } + + STATE_LOOKUP(kif, &key, pd->dir, *state, pd); + + if (pd->dir == (*state)->direction) { + src = &(*state)->src; + psrc = PF_PEER_SRC; + } else { + src = &(*state)->dst; + psrc = PF_PEER_DST; + } + + /* Track state. */ + if (pd->sctp_flags & PFDESC_SCTP_INIT) { + if (src->state < SCTP_COOKIE_WAIT) { + pf_set_protostate(*state, psrc, SCTP_COOKIE_WAIT); + (*state)->timeout = PFTM_TCP_OPENING; + } + } + if (pd->sctp_flags & PFDESC_SCTP_COOKIE) { + if (src->state < SCTP_ESTABLISHED) { + pf_set_protostate(*state, psrc, SCTP_ESTABLISHED); + (*state)->timeout = PFTM_TCP_ESTABLISHED; + } + } + if (pd->sctp_flags & (PFDESC_SCTP_SHUTDOWN | PFDESC_SCTP_ABORT | + PFDESC_SCTP_SHUTDOWN_COMPLETE)) { + if (src->state < SCTP_SHUTDOWN_PENDING) { + pf_set_protostate(*state, psrc, SCTP_SHUTDOWN_PENDING); + (*state)->timeout = PFTM_TCP_CLOSING; + } + } + + (*state)->expire = time_uptime; + + return (PF_PASS); +} + static int pf_test_state_other(struct pf_kstate **state, int direction, struct pfi_kkif *kif, struct mbuf *m, struct pf_pdesc *pd) @@ -6550,6 +6623,36 @@ pf_test(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, struct inpcb * break; } + case IPPROTO_SCTP: { + if (!pf_pull_hdr(m, off, &pd.hdr.sctp, sizeof(pd.hdr.sctp), + &action, &reason, AF_INET)) { + log = action != PF_PASS; + goto done; + } + pd.sport = &pd.hdr.sctp.src_port; + pd.dport = &pd.hdr.sctp.dest_port; + if (pd.hdr.sctp.src_port == 0 || pd.hdr.sctp.dest_port == 0) { + action = PF_DROP; + REASON_SET(&reason, PFRES_SHORT); + goto done; + } + action = pf_normalize_sctp(dir, kif, m, 0, off, h, &pd); + if (action == PF_DROP) + goto done; + action = pf_test_state_sctp(&s, kif, m, off, h, &pd, + &reason); + if (action == PF_PASS) { + if (V_pfsync_update_state_ptr != NULL) + V_pfsync_update_state_ptr(s); + r = s->rule.ptr; + a = s->anchor.ptr; + } else { + action = pf_test_rule(&r, &s, pd.dir, kif, m, off, + &pd, &a, &ruleset, inp); + } + break; + } + case IPPROTO_ICMP: { if (!pf_pull_hdr(m, off, &pd.hdr.icmp, ICMP_MINLEN, &action, &reason, AF_INET)) { @@ -6996,6 +7099,36 @@ pf_test6(int dir, int pflags, struct ifnet *ifp, struct mbuf **m0, struct inpcb break; } + case IPPROTO_SCTP: { + if (!pf_pull_hdr(m, off, &pd.hdr.sctp, sizeof(pd.hdr.sctp), + &action, &reason, AF_INET6)) { + log = action != PF_PASS; + goto done; + } + pd.sport = &pd.hdr.sctp.src_port; + pd.dport = &pd.hdr.sctp.dest_port; + if (pd.hdr.sctp.src_port == 0 || pd.hdr.sctp.dest_port == 0) { + action = PF_DROP; + REASON_SET(&reason, PFRES_SHORT); + goto done; + } + action = pf_normalize_sctp(dir, kif, m, 0, off, h, &pd); + if (action == PF_DROP) + goto done; + action = pf_test_state_sctp(&s, kif, m, off, h, &pd, + &reason); + if (action == PF_PASS) { + if (V_pfsync_update_state_ptr != NULL) + V_pfsync_update_state_ptr(s); + r = s->rule.ptr; + a = s->anchor.ptr; + } else { + action = pf_test_rule(&r, &s, pd.dir, kif, m, off, + &pd, &a, &ruleset, inp); + } + break; + } + case IPPROTO_ICMP: { action = PF_DROP; DPFPRINTF(PF_DEBUG_MISC, diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index ae026fb9cee1..06aa577b45a7 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -55,6 +55,8 @@ __FBSDID("$FreeBSD$"); #include #include #include +#include +#include #ifdef INET6 #include @@ -1988,6 +1990,184 @@ pf_normalize_tcpopt(struct pf_krule *r, struct mbuf *m, struct tcphdr *th, return (rewrite); } +static int +pf_scan_sctp(struct mbuf *m, int ipoff, int off, struct pf_pdesc *pd) +{ + struct sctp_chunkhdr ch = { }; + int chunk_off = sizeof(struct sctphdr); + int chunk_start; + + while (off + chunk_off < pd->tot_len) { + if (!pf_pull_hdr(m, off + chunk_off, &ch, sizeof(ch), NULL, + NULL, pd->af)) + return (PF_DROP); + + /* Length includes the header, this must be at least 4. */ + if (ntohs(ch.chunk_length) < 4) + return (PF_DROP); + + chunk_start = chunk_off; + chunk_off += roundup(ntohs(ch.chunk_length), 4); + + switch (ch.chunk_type) { + case SCTP_INITIATION: { + struct sctp_init_chunk init; + + if (!pf_pull_hdr(m, off + chunk_start, &init, + sizeof(init), NULL, NULL, pd->af)) + return (PF_DROP); + + /* + * RFC 9620, Section 3.3.2, "The Initiate Tag is allowed to have + * any value except 0." + */ + if (init.init.initiate_tag == 0) + return (PF_DROP); + if (init.init.num_inbound_streams == 0) + return (PF_DROP); + if (init.init.num_outbound_streams == 0) + return (PF_DROP); + if (ntohl(init.init.a_rwnd) < SCTP_MIN_RWND) + return (PF_DROP); + + /* + * RFC 9260, Section 3.1, INIT chunks MUST have zero + * verification tag. + */ + if (pd->hdr.sctp.v_tag != 0) + return (PF_DROP); + + pd->sctp_flags |= PFDESC_SCTP_INIT; + break; + } + case SCTP_INITIATION_ACK: + pd->sctp_flags |= PFDESC_SCTP_INIT_ACK; + break; + case SCTP_ABORT_ASSOCIATION: + pd->sctp_flags |= PFDESC_SCTP_ABORT; + break; + case SCTP_SHUTDOWN: + case SCTP_SHUTDOWN_ACK: + pd->sctp_flags |= PFDESC_SCTP_SHUTDOWN; + break; + case SCTP_SHUTDOWN_COMPLETE: + pd->sctp_flags |= PFDESC_SCTP_SHUTDOWN_COMPLETE; + break; + case SCTP_COOKIE_ECHO: + case SCTP_COOKIE_ACK: + pd->sctp_flags |= PFDESC_SCTP_COOKIE; + break; + case SCTP_DATA: + pd->sctp_flags |= PFDESC_SCTP_DATA; + break; + default: + pd->sctp_flags |= PFDESC_SCTP_OTHER; + break; + } + } + + /* Validate chunk lengths vs. packet length. */ + if (off + chunk_off != pd->tot_len) + return (PF_DROP); + + /* + * INIT, INIT_ACK or SHUTDOWN_COMPLETE chunks must always be the only + * one in a packet. + */ + if ((pd->sctp_flags & PFDESC_SCTP_INIT) && + (pd->sctp_flags & ~PFDESC_SCTP_INIT)) + return (PF_DROP); + if ((pd->sctp_flags & PFDESC_SCTP_INIT_ACK) && + (pd->sctp_flags & ~PFDESC_SCTP_INIT_ACK)) + return (PF_DROP); + if ((pd->sctp_flags & PFDESC_SCTP_SHUTDOWN_COMPLETE) && + (pd->sctp_flags & ~PFDESC_SCTP_SHUTDOWN_COMPLETE)) + return (PF_DROP); + + return (PF_PASS); +} + +int +pf_normalize_sctp(int dir, struct pfi_kkif *kif, struct mbuf *m, int ipoff, + int off, void *h, struct pf_pdesc *pd) +{ + struct pf_krule *r, *rm = NULL; + struct sctphdr *sh = &pd->hdr.sctp; + u_short reason; + sa_family_t af = pd->af; + int srs; + + PF_RULES_RASSERT(); + + /* Unconditionally scan the SCTP packet, because we need to look for + * things like shutdown and asconf chunks. */ + if (pf_scan_sctp(m, ipoff, off, pd) != PF_PASS) + goto sctp_drop; + + r = TAILQ_FIRST(pf_main_ruleset.rules[PF_RULESET_SCRUB].active.ptr); + /* Check if there any scrub rules. Lack of scrub rules means enforced + * packet normalization operation just like in OpenBSD. */ + srs = (r != NULL); + while (r != NULL) { + pf_counter_u64_add(&r->evaluations, 1); + if (pfi_kkif_match(r->kif, kif) == r->ifnot) + r = r->skip[PF_SKIP_IFP].ptr; + else if (r->direction && r->direction != dir) + r = r->skip[PF_SKIP_DIR].ptr; + else if (r->af && r->af != af) + r = r->skip[PF_SKIP_AF].ptr; + else if (r->proto && r->proto != pd->proto) + r = r->skip[PF_SKIP_PROTO].ptr; + else if (PF_MISMATCHAW(&r->src.addr, pd->src, af, + r->src.neg, kif, M_GETFIB(m))) + r = r->skip[PF_SKIP_SRC_ADDR].ptr; + else if (r->src.port_op && !pf_match_port(r->src.port_op, + r->src.port[0], r->src.port[1], sh->src_port)) + r = r->skip[PF_SKIP_SRC_PORT].ptr; + else if (PF_MISMATCHAW(&r->dst.addr, pd->dst, af, + r->dst.neg, NULL, M_GETFIB(m))) + r = r->skip[PF_SKIP_DST_ADDR].ptr; + else if (r->dst.port_op && !pf_match_port(r->dst.port_op, + r->dst.port[0], r->dst.port[1], sh->dest_port)) + r = r->skip[PF_SKIP_DST_PORT].ptr; + else { + rm = r; + break; + } + } + + if (srs) { + /* With scrub rules present SCTP normalization happens only + * if one of rules has matched and it's not a "no scrub" rule */ + if (rm == NULL || rm->action == PF_NOSCRUB) + return (PF_PASS); + + pf_counter_u64_critical_enter(); + pf_counter_u64_add_protected(&r->packets[dir == PF_OUT], 1); + pf_counter_u64_add_protected(&r->bytes[dir == PF_OUT], pd->tot_len); + pf_counter_u64_critical_exit(); + } + + /* Verify we're a multiple of 4 bytes long */ + if ((pd->tot_len - off - sizeof(struct sctphdr)) % 4) + goto sctp_drop; + + /* INIT chunk needs to be the only chunk */ + if (pd->sctp_flags & PFDESC_SCTP_INIT) + if (pd->sctp_flags & ~PFDESC_SCTP_INIT) + goto sctp_drop; + + return (PF_PASS); + +sctp_drop: + REASON_SET(&reason, PFRES_NORM); + if (rm != NULL && r->log) + PFLOG_PACKET(kif, m, AF_INET, pd->dir, reason, r, NULL, NULL, pd, + 1); + + return (PF_DROP); +} + #ifdef INET static void pf_scrub_ip(struct mbuf **m0, u_int32_t flags, u_int8_t min_ttl, u_int8_t tos) From nobody Fri Aug 11 12:13:32 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMjPT2mhTz4q17S; Fri, 11 Aug 2023 12:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMjPT12Pmz3gJ0; Fri, 11 Aug 2023 12:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pbIfv2T8oNRIxtfSbMw455O2lR42L/bi+tt1Qh6Wii8=; b=dGGYfFEXHOwd0ZQhhnptlAgNAt3Fx+GAk2Y7cVAJ2j5ge+hfwFnagS1ZM7WJL5jxh3JA+5 eRMlAHA/KwtH6OVoXoE3mXw8bwK1qiTbXwadyxXqUVKwz4HUnqeJl63T0ZxF9csJ+pez6/ 9EEr5U+aG0Z8T0MhXPgmImkGikR+oGqOhk1bs88V2DYDlUI/Bmy0t7gbR1Su7U45let1Iz r0RGW7qaz3/wM5ncxR9lRS0mqq4cP8EUekWTQwbgeoxnPANjPUOxEf0/kYorFq6T+P4ZUD Y82hi+lUpSwBUFjqxdHUi6LISOgi1RE0Wnab1lgrdUFH+7CXrAwHWJQ1HYTe6w== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756013; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=pbIfv2T8oNRIxtfSbMw455O2lR42L/bi+tt1Qh6Wii8=; b=vcxw2ntX3AcXi/CiLrLsv+zYCvLRQHyq2A2AY93uhuW3+oEm1HTkPFsCnEvqwlPM7TLlYO YGGfIIkC4dlZhVjX2/WKbt67U9KfcqkyuxMHK9kvmXsxo+8pp0ohmXCGn8YD32RQtzHk3V alcz37cC9yRxzv4ySH+qs9R9H5aSRPu0DC8JlS+EDG5xSuzWaE4mts5VBf19vXwRez66tQ dvZsNUdg4BgsooCyGd/zwqK0Hus+OE1ihNaGiHMA3IvWoN+UoFi5gcrux2x5J5fp1foBV9 xEWRqx5qjj1YzFCI6NinHeTzkrWHCF/BA1FXV5jb4izmb5FclxvIcOUXzzKpWA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691756013; a=rsa-sha256; cv=none; b=EPB+8WeXEVkSuGw4LKC1ZWXQKD2N9tSEPvRpfDp1FjhjGJBig+edC3W4wtfiT8r+rP36g2 pVjMl1wiMD8TKbV9iVD+eHCx98pTp8wGCBZp3aRcl+8dDJ4HYiq6yK4Vw2qku3Pnoe2Pd5 pCvU9oC+yxNF5vD5SIYobcwENI0D3QtnPpPCxPyXgE0xuoor/5NmAdHKJz2e7pzWjRPKla dN+CEmwXuvzHXsQVjNBz8mmcjeNGwOgRZYi0IStb8oJzjJcx0dhwK1dvIZNquy08bocbum dUqCjMtIwH0CC6q+Vzj7fASy2kE9DQlxU3V2GqhxGS0yuQo2M9Ar594NBIG5vg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMjPT02KQzfRD; Fri, 11 Aug 2023 12:13:33 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BCDWDf008543; Fri, 11 Aug 2023 12:13:32 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BCDWwK008540; Fri, 11 Aug 2023 12:13:32 GMT (envelope-from git) Date: Fri, 11 Aug 2023 12:13:32 GMT Message-Id: <202308111213.37BCDWwK008540@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: a9e6ca87f104 - stable/13 - pf tests: basic SCTP connection test List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: a9e6ca87f104bb127b324b9c30ddf507d112d235 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=a9e6ca87f104bb127b324b9c30ddf507d112d235 commit a9e6ca87f104bb127b324b9c30ddf507d112d235 Author: Kristof Provost AuthorDate: 2023-04-27 09:13:40 +0000 Commit: Kristof Provost CommitDate: 2023-08-11 12:13:09 +0000 pf tests: basic SCTP connection test pf can now inspect SCTP. Check that we can set up a connection. IPv4 and IPv6 tests. MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D40863 (cherry picked from commit 95363473793986eeecf19f7ed78d05f25cfa7b87) --- tests/sys/netpfil/pf/Makefile | 1 + tests/sys/netpfil/pf/sctp.sh | 190 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 191 insertions(+) diff --git a/tests/sys/netpfil/pf/Makefile b/tests/sys/netpfil/pf/Makefile index 26e5710d6f81..0ea2bd60e7da 100644 --- a/tests/sys/netpfil/pf/Makefile +++ b/tests/sys/netpfil/pf/Makefile @@ -24,6 +24,7 @@ ATF_TESTS_SH+= altq \ ridentifier \ route_to \ rules_counter \ + sctp \ set_skip \ set_tos \ src_track \ diff --git a/tests/sys/netpfil/pf/sctp.sh b/tests/sys/netpfil/pf/sctp.sh new file mode 100644 index 000000000000..5064fe316e5e --- /dev/null +++ b/tests/sys/netpfil/pf/sctp.sh @@ -0,0 +1,190 @@ +# $FreeBSD$ +# +# SPDX-License-Identifier: BSD-2-Clause-FreeBSD +# +# Copyright © 2023 Orange Business Services +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +# SUCH DAMAGE. + +. $(atf_get_srcdir)/utils.subr + +sctp_init() +{ + pft_init + if ! kldstat -q -m sctp; then + atf_skip "This test requires SCTP" + fi +} + +atf_test_case "basic_v4" "cleanup" +basic_v4_head() +{ + atf_set descr 'Basic SCTP connection over IPv4 passthrough' + atf_set require.user root +} + +basic_v4_body() +{ + sctp_init + + j="sctp:basic_v4" + epair=$(vnet_mkepair) + + vnet_mkjail ${j}a ${epair}a + vnet_mkjail ${j}b ${epair}b + + jexec ${j}a ifconfig ${epair}a 192.0.2.1/24 up + jexec ${j}b ifconfig ${epair}b 192.0.2.2/24 up + # Sanity check + atf_check -s exit:0 -o ignore \ + jexec ${j}a ping -c 1 192.0.2.2 + + jexec ${j}a pfctl -e + pft_set_rules ${j}a \ + "block" \ + "pass in proto sctp to port 1234" + + echo "foo" | jexec ${j}a nc --sctp -N -l 1234 & + + # Wait for the server to start + sleep 1 + + out=$(jexec ${j}b nc --sctp -N -w 3 192.0.2.1 1234) + if [ "$out" != "foo" ]; then + atf_fail "SCTP connection failed" + fi + + # Now with scrub rules present, so normalization is done + pft_set_rules ${j}a \ + "scrub on ${j}a" \ + "block" \ + "pass in proto sctp to port 1234" + + echo "foo" | jexec ${j}a nc --sctp -N -l 1234 & + sleep 1 + + out=$(jexec ${j}b nc --sctp -N -w 3 192.0.2.1 1234) + if [ "$out" != "foo" ]; then + atf_fail "SCTP connection failed" + fi + + # Now fail with a blocked port + echo "foo" | jexec ${j}a nc --sctp -N -l 1235 & + sleep 1 + + out=$(jexec ${j}b nc --sctp -N -w 3 192.0.2.1 1235) + if [ "$out" == "foo" ]; then + atf_fail "SCTP port block failed" + fi + + # Now fail with a blocked port but passing source port + out=$(jexec ${j}b nc --sctp -N -w 3 -p 1234 192.0.2.1 1235) + if [ "$out" == "foo" ]; then + atf_fail "SCTP port block failed" + fi +} + +basic_v4_cleanup() +{ + pft_cleanup +} + +atf_test_case "basic_v6" "cleanup" +basic_v6_head() +{ + atf_set descr 'Basic SCTP connection over IPv6' + atf_set require.user root +} + +basic_v6_body() +{ + sctp_init + + j="sctp:basic_v6" + epair=$(vnet_mkepair) + + vnet_mkjail ${j}a ${epair}a + vnet_mkjail ${j}b ${epair}b + + jexec ${j}a ifconfig ${epair}a inet6 2001:db8::a/64 up no_dad + jexec ${j}b ifconfig ${epair}b inet6 2001:db8::b/64 up no_dad + + # Sanity check + atf_check -s exit:0 -o ignore \ + jexec ${j}a ping -6 -c 1 2001:db8::b + + jexec ${j}a pfctl -e + pft_set_rules ${j}a \ + "block proto sctp" \ + "pass in proto sctp to port 1234" + + echo "foo" | jexec ${j}a nc -6 --sctp -N -l 1234 & + + # Wait for the server to start + sleep 1 + + out=$(jexec ${j}b nc --sctp -N -w 3 2001:db8::a 1234) + if [ "$out" != "foo" ]; then + atf_fail "SCTP connection failed" + fi + + # Now with scrub rules present, so normalization is done + pft_set_rules ${j}a \ + "scrub on ${j}a" \ + "block proto sctp" \ + "pass in proto sctp to port 1234" + + echo "foo" | jexec ${j}a nc -6 --sctp -N -l 1234 & + sleep 1 + + out=$(jexec ${j}b nc --sctp -N -w 3 2001:db8::a 1234) + if [ "$out" != "foo" ]; then + atf_fail "SCTP connection failed" + fi + + # Now fail with a blocked port + echo "foo" | jexec ${j}a nc -6 --sctp -N -l 1235 & + sleep 1 + + out=$(jexec ${j}b nc --sctp -N -w 3 2001:db8::a 1235) + if [ "$out" == "foo" ]; then + atf_fail "SCTP port block failed" + fi + + # Now fail with a blocked port but passing source port + out=$(jexec ${j}b nc --sctp -N -w 3 -p 1234 2001:db8::a 1235) + if [ "$out" == "foo" ]; then + atf_fail "SCTP port block failed" + fi +} + +basic_v6_cleanup() +{ + pft_cleanup +} + + +atf_init_test_cases() +{ + atf_add_test_case "basic_v4" + atf_add_test_case "basic_v6" +} From nobody Fri Aug 11 12:13:34 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMjPV2j2Qz4q1B1; Fri, 11 Aug 2023 12:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMjPV1knDz3gRx; Fri, 11 Aug 2023 12:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=urjITSVESrCx6nQ7ZY7QtMbx0HY12eSemJAruBSWfNc=; b=A2eimjYejSX9I6onAQp2OBNK+NXtOX1ZSoAftyf8TnWdJPKeqYxncYgszFfICBymE9lXcc pvvD++Gj3/TCPJqhryUGzZj8Ki1LvZjo/SHDcV0aViRBodEn6v6+Kz3SsSOci4mwFiKsz7 mV784n6h7ghDujJiU21TCNYphzb/I+NYLgPk8THYdNCDfXx1Ljy17Qz/4nVm6N8vrg9V9f CjhfbiXuivrUW3EzwmTmrc5odQ4H+lz57vDc3wCumjou3fe/DLIBSJ07ntTQOiMv4Hdyba Sj+pVMLWt3rfNIZOZw9hsV3FRgFg26DXGZheWO/Pg7zyFQVVlWVqfaH+PnkSCg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756014; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=urjITSVESrCx6nQ7ZY7QtMbx0HY12eSemJAruBSWfNc=; b=yo8ZC5EtH4nbeo04hhRA6HCCFo3zRtaWDWSTk4fpVFfOkfPbnD4x4m7ph+9PEQlljOuAJb r6/5PCO8Q2PMcvdkJXq/cfzx9tLG0Bm+9LK6sjB5m3qYE/ptA/EuqfGqT5L0fIoE9db3oh zUcq/k31DrC/b9Qpy9j9x9G0xdr4j5RjAntnvOt82Y2nD7HdRfulkFvVqlynyNG//22sZ6 Gi/qOh+8kkrrHecAym6sGuwr6jQ8b7Nm9i2FIN0+jRrlp1jIwCmckIA/EaoSvs3m2zFZiO DuenfFjjmSAbeJngQ1C3a0GDzAciJGzWXdDU9qYSbbB58ITICa0OYSagLhdbEQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691756014; a=rsa-sha256; cv=none; b=Ke1x2YWncHlP0uS5SA8DcjY3sf6kFzN1VC3xk0bOwrOIkxC5ny4G6Z998o01k7yw33ACer QMHplH718ZsR9DcCaYCToHTiLw1qV453+egD2PkLrA8wDA7vVzMUaTXTySGpZYAQ/rsDif 5W16fqi1ID6bTQ27Ho01IrGR4sjmdbinBfCzKxPmL3qdhEn4yPeXZSv73EwmokzFbfE+m4 rPih5UAOJHWr1j3nURu/esDIJ/V6ODeISTuJuszmoXnzTDQhrg7nYI2tvGgBxzvf/IrQqb ciqhSkcTuMmzqAjUoByWGj6stEgdN1M4tZXfP4fXaM5t85yU7U++o/QRiiXWHg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMjPV0qcyzdgV; Fri, 11 Aug 2023 12:13:34 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BCDY7F008585; Fri, 11 Aug 2023 12:13:34 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BCDYMY008582; Fri, 11 Aug 2023 12:13:34 GMT (envelope-from git) Date: Fri, 11 Aug 2023 12:13:34 GMT Message-Id: <202308111213.37BCDYMY008582@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 540c8cd7adc5 - stable/13 - pf: support 'return' for SCTP List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 540c8cd7adc5b30fa11ea47822c333863b0663b5 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=540c8cd7adc5b30fa11ea47822c333863b0663b5 commit 540c8cd7adc5b30fa11ea47822c333863b0663b5 Author: Kristof Provost AuthorDate: 2023-05-31 14:03:39 +0000 Commit: Kristof Provost CommitDate: 2023-08-11 12:13:09 +0000 pf: support 'return' for SCTP Send an SCTP Abort message if we're refusing a connection, just like we send a RST for TCP. MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D40864 (cherry picked from commit d1bc1e9e1ae04016e16154884914d839566ebaec) --- sys/net/pfvar.h | 1 + sys/netpfil/pf/pf.c | 117 +++++++++++++++++++++++++++++++++++++++++++++++ sys/netpfil/pf/pf_norm.c | 2 + 3 files changed, 120 insertions(+) diff --git a/sys/net/pfvar.h b/sys/net/pfvar.h index 55bd25a3d29e..99c504d99368 100644 --- a/sys/net/pfvar.h +++ b/sys/net/pfvar.h @@ -1330,6 +1330,7 @@ struct pf_pdesc { #define PFDESC_SCTP_DATA 0x0040 #define PFDESC_SCTP_OTHER 0x0080 u_int16_t sctp_flags; + u_int32_t sctp_initiate_tag; }; #endif diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index 16e0ee762f6a..ce5e1b813bb2 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -2911,6 +2911,120 @@ pf_build_tcp(const struct pf_krule *r, sa_family_t af, return (m); } +static void +pf_send_sctp_abort(sa_family_t af, struct pf_pdesc *pd, + uint8_t ttl, int rtableid) +{ + struct mbuf *m; +#ifdef INET + struct ip *h = NULL; +#endif /* INET */ +#ifdef INET6 + struct ip6_hdr *h6 = NULL; +#endif /* INET6 */ + struct sctphdr *hdr; + struct sctp_chunkhdr *chunk; + struct pf_send_entry *pfse; + int off = 0; + + MPASS(af == pd->af); + + m = m_gethdr(M_NOWAIT, MT_DATA); + if (m == NULL) + return; + + m->m_data += max_linkhdr; + m->m_flags |= M_SKIP_FIREWALL; + /* The rest of the stack assumes a rcvif, so provide one. + * This is a locally generated packet, so .. close enough. */ + m->m_pkthdr.rcvif = V_loif; + + /* IPv4|6 header */ + switch (af) { +#ifdef INET + case AF_INET: + bzero(m->m_data, sizeof(struct ip) + sizeof(*hdr) + sizeof(*chunk)); + + h = mtod(m, struct ip *); + + /* IP header fields included in the TCP checksum */ + + h->ip_p = IPPROTO_SCTP; + h->ip_len = htons(sizeof(*h) + sizeof(*hdr) + sizeof(*chunk)); + h->ip_ttl = ttl ? ttl : V_ip_defttl; + h->ip_src = pd->dst->v4; + h->ip_dst = pd->src->v4; + + off += sizeof(struct ip); + break; +#endif /* INET */ +#ifdef INET6 + case AF_INET6: + bzero(m->m_data, sizeof(struct ip6_hdr) + sizeof(*hdr) + sizeof(*chunk)); + + h6 = mtod(m, struct ip6_hdr *); + + /* IP header fields included in the TCP checksum */ + h6->ip6_vfc |= IPV6_VERSION; + h6->ip6_nxt = IPPROTO_SCTP; + h6->ip6_plen = htons(sizeof(*h6) + sizeof(*hdr) + sizeof(*chunk)); + h6->ip6_hlim = ttl ? ttl : V_ip6_defhlim; + memcpy(&h6->ip6_src, &pd->dst->v6, sizeof(struct in6_addr)); + memcpy(&h6->ip6_dst, &pd->src->v6, sizeof(struct in6_addr)); + + off += sizeof(struct ip6_hdr); + break; +#endif /* INET6 */ + } + + /* SCTP header */ + hdr = mtodo(m, off); + + hdr->src_port = pd->hdr.sctp.dest_port; + hdr->dest_port = pd->hdr.sctp.src_port; + hdr->v_tag = pd->sctp_initiate_tag; + hdr->checksum = 0; + + /* Abort chunk. */ + off += sizeof(struct sctphdr); + chunk = mtodo(m, off); + + chunk->chunk_type = SCTP_ABORT_ASSOCIATION; + chunk->chunk_length = htons(sizeof(*chunk)); + + /* SCTP checksum */ + off += sizeof(*chunk); + m->m_pkthdr.len = m->m_len = off; + + pf_sctp_checksum(m, off - sizeof(*hdr) - sizeof(*chunk));; + + if (rtableid >= 0) + M_SETFIB(m, rtableid); + + /* Allocate outgoing queue entry, mbuf and mbuf tag. */ + pfse = malloc(sizeof(*pfse), M_PFTEMP, M_NOWAIT); + if (pfse == NULL) { + m_freem(m); + return; + } + + switch (af) { +#ifdef INET + case AF_INET: + pfse->pfse_type = PFSE_IP; + break; +#endif /* INET */ +#ifdef INET6 + case AF_INET6: + pfse->pfse_type = PFSE_IP6; + break; +#endif /* INET6 */ + } + + pfse->pfse_m = m; + pf_send(pfse); +} + void pf_send_tcp(const struct pf_krule *r, sa_family_t af, const struct pf_addr *saddr, const struct pf_addr *daddr, @@ -3014,6 +3128,9 @@ pf_return(struct pf_krule *r, struct pf_krule *nr, struct pf_pdesc *pd, ntohl(th->th_ack), ack, TH_RST|TH_ACK, 0, 0, r->return_ttl, 1, 0); } + } else if (pd->proto == IPPROTO_SCTP && + (r->rule_flag & PFRULE_RETURN)) { + pf_send_sctp_abort(af, pd, r->return_ttl, r->rtableid); } else if (pd->proto != IPPROTO_ICMP && af == AF_INET && r->return_icmp) pf_send_icmp(m, r->return_icmp >> 8, diff --git a/sys/netpfil/pf/pf_norm.c b/sys/netpfil/pf/pf_norm.c index 06aa577b45a7..ac02896d0762 100644 --- a/sys/netpfil/pf/pf_norm.c +++ b/sys/netpfil/pf/pf_norm.c @@ -2037,6 +2037,8 @@ pf_scan_sctp(struct mbuf *m, int ipoff, int off, struct pf_pdesc *pd) if (pd->hdr.sctp.v_tag != 0) return (PF_DROP); + pd->sctp_initiate_tag = init.init.initiate_tag; + pd->sctp_flags |= PFDESC_SCTP_INIT; break; } From nobody Fri Aug 11 12:13:35 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMjPW3bNHz4q0yc; Fri, 11 Aug 2023 12:13:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMjPW32R2z3gg8; Fri, 11 Aug 2023 12:13:35 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k7yfR60hg9iuomtn+pd8pu3fAixI2kD2toRVy0keB9g=; b=m9XLx2ON3us9m+hX88hfTy3pghw5G3MISdB1PBC0/xhESGI8E6jZ8C+OVDVxl+03Av4SNb hWTHhMFeUQerrQWJ8r+sNWFLXob137YEPLvEyx7Y9DP7fG2SSvWIrL/qV8nEzUzWMJ8PT8 a+F1BWkrMUG0cKIdd7HVqrZHzZitFQa2AxPv4jkS+WblylYJFAc4qT5N/UpRzBFp+nUdDb RrmfhBQ0pfLEkFuJAflqZzshHP4sh9jOk5MuvlwaSLTn2V6FlsmSxlvTuM06iNSipTxKO3 cZeC+y//5ncpcKgQnEW97MFUtDKzcchiBsuSu/4x3TK9azrZD8LYeNp/0dZyIw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756015; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=k7yfR60hg9iuomtn+pd8pu3fAixI2kD2toRVy0keB9g=; b=xHDrdLikYNKl8+H5WH5YBbUagM32WlH2s3O/8vP+i5445bKJ+rjsNiKU0xOYVZh76K/Chi I6nOMHC5gqxikPLURvS/kqHnovrRwJ7mnaB2ZrBh3IXUCa+Ko4Y2m4lBjhWwxnSWO4NLlG Hi+GGPQdsdCsEv0xGPFSvVPsY1MEazKAbG7cfhLkfg+eQclgs9S2AAbk0a6BRIy0CNjIjT qEFajA0hx7eIbaBuPMrRdcfdw/DnJ7kRqEQHGi9Ju1ORdsm2/hg2s17YllnZe9m4EwtZoZ GXAOXZZg9L2TS/d51Ge1LTni52uk0CH/QqBH1yw2kTCcyRO7QUz3ejgy6P1PqA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691756015; a=rsa-sha256; cv=none; b=ss1k4KRW0/Exa43gNp2WeDk3TbvSFSfUhFougHcGnKZtk+QpOBSrHmCSGaEVRxzxWSBVFf s9o0HeonE6MknJH7vN9tapOb/b/9su1T+j3Zo8CTa5v/YXvI/TBEaXqzTgISGVLrAQTxuf Wz9CS6lIvqMa8kucvLjDO5+cUHdjmFU8nN6JOsIjPdHn+ej+aiwtArgPdzEWjL+liXWK+m zZ1PIbTUvzppIeVL263FkOI9chESmQCKrXCi+LP+RODr7lbWAoOxvJdjVRZEB+cd53V10s prkC/tOYfvW9N7bEcAKMxtPf0sLhsAci0IK0bvXMMpQEwLXhvNinaUA9tyHGLw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMjPW24JhzdgW; Fri, 11 Aug 2023 12:13:35 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BCDZ9j008628; Fri, 11 Aug 2023 12:13:35 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BCDZXV008625; Fri, 11 Aug 2023 12:13:35 GMT (envelope-from git) Date: Fri, 11 Aug 2023 12:13:35 GMT Message-Id: <202308111213.37BCDZXV008625@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: dc9da87bd334 - stable/13 - pf tests: test SCTP 'return' List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dc9da87bd334906375eb35c3adaceaf0b6b4f2e3 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=dc9da87bd334906375eb35c3adaceaf0b6b4f2e3 commit dc9da87bd334906375eb35c3adaceaf0b6b4f2e3 Author: Kristof Provost AuthorDate: 2023-05-31 19:45:29 +0000 Commit: Kristof Provost CommitDate: 2023-08-11 12:13:09 +0000 pf tests: test SCTP 'return' Ensure that we send a correct abort message for 'block return' rules. Test this by validating that nc doesn't sit around waiting for a connection. It should give up immediately when it receives the abort. MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D40865 (cherry picked from commit 2d42aa9d7ba64fe7166f76234a595637f0c212cf) --- tests/sys/netpfil/pf/sctp.sh | 117 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 117 insertions(+) diff --git a/tests/sys/netpfil/pf/sctp.sh b/tests/sys/netpfil/pf/sctp.sh index 5064fe316e5e..59697ad37be2 100644 --- a/tests/sys/netpfil/pf/sctp.sh +++ b/tests/sys/netpfil/pf/sctp.sh @@ -182,9 +182,126 @@ basic_v6_cleanup() pft_cleanup } +atf_test_case "abort_v4" "cleanup" +abort_v4_head() +{ + atf_set descr 'Test sending ABORT messages' + atf_set require.user root +} + +abort_v4_body() +{ + sctp_init + + j="sctp:abort_v4" + epair=$(vnet_mkepair) + + vnet_mkjail ${j}a ${epair}a + vnet_mkjail ${j}b ${epair}b + + jexec ${j}a ifconfig ${epair}a 192.0.2.1/24 up + jexec ${j}b ifconfig ${epair}b 192.0.2.2/24 up + + # Sanity check + atf_check -s exit:0 -o ignore \ + jexec ${j}a ping -c 1 192.0.2.2 + + jexec ${j}a pfctl -e + pft_set_rules ${j}a \ + "block return in proto sctp to port 1234" + + echo "foo" | jexec ${j}a nc --sctp -N -l 1234 & + + # Wait for the server to start + sleep 1 + + # If we get the abort we'll exit immediately, if we don't timeout will + # stop nc. + out=$(jexec ${j}b timeout 3 nc --sctp -N 192.0.2.1 1234) + if [ $? -eq 124 ]; then + atf_fail 'Abort not received' + fi + if [ "$out" == "foo" ]; then + atf_fail "block failed entirely" + fi + + # Without 'return' we will time out. + pft_set_rules ${j}a \ + "block in proto sctp to port 1234" + + out=$(jexec ${j}b timeout 3 nc --sctp -N 192.0.2.1 1234) + if [ $? -ne 124 ]; then + atf_fail 'Abort sent anyway?' + fi +} + +abort_v4_cleanup() +{ + pft_cleanup +} + +atf_test_case "abort_v6" "cleanup" +abort_v4_head() +{ + atf_set descr 'Test sending ABORT messages over IPv6' + atf_set require.user root +} + +abort_v6_body() +{ + sctp_init + + j="sctp:abort_v6" + epair=$(vnet_mkepair) + + vnet_mkjail ${j}a ${epair}a + vnet_mkjail ${j}b ${epair}b + + jexec ${j}a ifconfig ${epair}a inet6 2001:db8::a/64 no_dad + jexec ${j}b ifconfig ${epair}b inet6 2001:db8::b/64 no_dad + + # Sanity check + atf_check -s exit:0 -o ignore \ + jexec ${j}a ping -6 -c 1 2001:db8::b + + jexec ${j}a pfctl -e + pft_set_rules ${j}a \ + "block return in proto sctp to port 1234" + + echo "foo" | jexec ${j}a nc -6 --sctp -N -l 1234 & + + # Wait for the server to start + sleep 1 + + # If we get the abort we'll exit immediately, if we don't timeout will + # stop nc. + out=$(jexec ${j}b timeout 3 nc --sctp -N 2001:db8::a 1234) + if [ $? -eq 124 ]; then + atf_fail 'Abort not received' + fi + if [ "$out" == "foo" ]; then + atf_fail "block failed entirely" + fi + + # Without 'return' we will time out. + pft_set_rules ${j}a \ + "block in proto sctp to port 1234" + + out=$(jexec ${j}b timeout 3 nc --sctp -N 2001:db8::a 1234) + if [ $? -ne 124 ]; then + atf_fail 'Abort sent anyway?' + fi +} + +abort_v4_cleanup() +{ + pft_cleanup +} atf_init_test_cases() { atf_add_test_case "basic_v4" atf_add_test_case "basic_v6" + atf_add_test_case "abort_v4" + atf_add_test_case "abort_v6" } From nobody Fri Aug 11 12:13:36 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMjPX4Wxvz4TjR7; Fri, 11 Aug 2023 12:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMjPX3zxlz3gfV; Fri, 11 Aug 2023 12:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yl51ye/4J616L46HISdrOIcDBIntz0twYrwnIQ7Tb10=; b=OSXaSTPVTqtf2VkkBtd5noyvxyPpL6ZjL7FnCacXGscSdKbIwM4PwGrIvrlqXBcCLreqcc gjvPipK6M/Xn8kKgiAHRzXthY6EEkbL4u3lq5jtypstcd3FEZcrtuy/7yHrwZXNWV5m1Uo EQxTjqnhyW8FrwnozykpwoNm2g3GZVBKyh5c1Bn8c9OTy/VQ7+jaH8H8hJCm257xGAxMPs VoTwOkkv/fjSy+Dt+ozUqMvAha/YIqszCKtQ2J0hWeG150GFBg1Sd1dI/VPF3PSfOqPcpe HiM0JwTlhmj9omvCgAMh2J9BvJKEGiZmWpmS0y+K0+9tviRCNFdiWVP1V7fadw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756016; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=yl51ye/4J616L46HISdrOIcDBIntz0twYrwnIQ7Tb10=; b=jNaxGWzp3bmFNeO6E2SXQ8FUSXL8IoXU8mU20u26i6VltsidmOlyeG4ASY8YLkWMOq+N9U GIIaoaDpB57U/3bpG3ouxD228Lm1x9D8ZZ9VrMYVOng9vW4xCbBKtBY8JUGLvPSukhKGfa BigMYuXiTfFFmM3nWBlgCJiybEmFOE5e0kmjH9Suaz8hCnpy9Hb912os6QbC8JJQD/SAj2 FEaOkuCRKj1x2TifAeRi8GpSHZebztnnZVZd5iDXgRuDroCuRz+FYAAU8gPNj2RnTJGMkG 2gmt0o8NTffIwLQlRFaOWvjgiwDm1gJ/RjtOTYA0S9RFpVk81BHek5NM4o/1fA== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691756016; a=rsa-sha256; cv=none; b=U/bLTHPnMY2hEFUpevtQ0Mc3b3b6ZGJD4K3QWZKqUes8jLNoXJfYCyylFdlKYF5/xMQkLa aDheYed0ayP3EgskIKGc2CaQpaCkkpFMGmqHPDG/ltaD1o2eylDD9M9vC7W+cg2Dq5e11z GsQQK47PRxO2yAd7bnIUhyqUZwwM6jyneWfa27CzdqUnv6B6g6flEAmorTAVSYXvWXTAC+ Z5eQYCWtkeB6iIr+cfgzrtO+Cp1BFF0EU6nIPA6528ynIRJ1SV1mSBDQWZtHypK79HjgMK 6x6ACgfqwKOtexJf0kqWiQ5La4FgnNp9ReS9yUcptG7Vq5umfe/GEU06OoUctQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMjPX34z2zdpd; Fri, 11 Aug 2023 12:13:36 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BCDaBt008682; Fri, 11 Aug 2023 12:13:36 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BCDalb008679; Fri, 11 Aug 2023 12:13:36 GMT (envelope-from git) Date: Fri, 11 Aug 2023 12:13:36 GMT Message-Id: <202308111213.37BCDalb008679@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: bd658cda0284 - stable/13 - pf: add SCTP NAT support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: bd658cda0284209b1ce460c86b67d5b73810ec6b Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=bd658cda0284209b1ce460c86b67d5b73810ec6b commit bd658cda0284209b1ce460c86b67d5b73810ec6b Author: Kristof Provost AuthorDate: 2023-06-01 13:04:48 +0000 Commit: Kristof Provost CommitDate: 2023-08-11 12:13:09 +0000 pf: add SCTP NAT support Support NAT-ing SCTP connections. This is mostly similar to UDP and TCP, but we refuse to change ports for SCTP, to avoid interfering with multihomed connections. As a result we also never copy the SCTP header back or recalculate checksums as we'd do for TCP or UDP (because we don't modify the header for SCTP). We do use the existing pf_change_ap() function to modify the packet, because we may still need to update the IPv4 header checksum. Reviewed by: tuexen MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D40866 (cherry picked from commit 6053adafaa54204f91c43939fa334bde835403cb) --- sys/netpfil/pf/pf.c | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++ sys/netpfil/pf/pf_lb.c | 14 ++++++++++++- 2 files changed, 69 insertions(+), 1 deletion(-) diff --git a/sys/netpfil/pf/pf.c b/sys/netpfil/pf/pf.c index ce5e1b813bb2..5cd97c35a3f7 100644 --- a/sys/netpfil/pf/pf.c +++ b/sys/netpfil/pf/pf.c @@ -502,6 +502,23 @@ pf_packet_rework_nat(struct mbuf *m, struct pf_pdesc *pd, int off, m_copyback(m, off, sizeof(*uh), (caddr_t)uh); break; } + case IPPROTO_SCTP: { + struct sctphdr *sh = &pd->hdr.sctp; + uint16_t checksum = 0; + + if (PF_ANEQ(pd->src, &nk->addr[pd->sidx], pd->af)) { + pf_change_ap(m, pd->src, &sh->src_port, pd->ip_sum, + &checksum, &nk->addr[pd->sidx], + nk->port[pd->sidx], 1, pd->af); + } + if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af)) { + pf_change_ap(m, pd->dst, &sh->dest_port, pd->ip_sum, + &checksum, &nk->addr[pd->didx], + nk->port[pd->didx], 1, pd->af); + } + + break; + } case IPPROTO_ICMP: { struct icmp *ih = &pd->hdr.icmp; @@ -3923,6 +3940,25 @@ pf_test_rule(struct pf_krule **rm, struct pf_kstate **sm, int direction, } rewrite++; break; + case IPPROTO_SCTP: { + uint16_t checksum = 0; + + if (PF_ANEQ(saddr, &nk->addr[pd->sidx], af) || + nk->port[pd->sidx] != sport) { + pf_change_ap(m, saddr, &pd->hdr.sctp.src_port, + pd->ip_sum, &checksum, + &nk->addr[pd->sidx], + nk->port[pd->sidx], 1, af); + } + if (PF_ANEQ(daddr, &nk->addr[pd->didx], af) || + nk->port[pd->didx] != dport) { + pf_change_ap(m, daddr, &pd->hdr.sctp.dest_port, + pd->ip_sum, &checksum, + &nk->addr[pd->didx], + nk->port[pd->didx], 1, af); + } + break; + } #ifdef INET case IPPROTO_ICMP: nk->port[0] = nk->port[1]; @@ -5880,6 +5916,26 @@ pf_test_state_sctp(struct pf_kstate **state, struct pfi_kkif *kif, (*state)->expire = time_uptime; + /* translate source/destination address, if necessary */ + if ((*state)->key[PF_SK_WIRE] != (*state)->key[PF_SK_STACK]) { + uint16_t checksum = 0; + struct pf_state_key *nk = (*state)->key[pd->didx]; + + if (PF_ANEQ(pd->src, &nk->addr[pd->sidx], pd->af) || + nk->port[pd->sidx] != pd->hdr.sctp.src_port) { + pf_change_ap(m, pd->src, &pd->hdr.sctp.src_port, + pd->ip_sum, &checksum, &nk->addr[pd->sidx], + nk->port[pd->sidx], 1, pd->af); + } + + if (PF_ANEQ(pd->dst, &nk->addr[pd->didx], pd->af) || + nk->port[pd->didx] != pd->hdr.sctp.dest_port) { + pf_change_ap(m, pd->dst, &pd->hdr.sctp.dest_port, + pd->ip_sum, &checksum, &nk->addr[pd->didx], + nk->port[pd->didx], 1, pd->af); + } + } + return (PF_PASS); } diff --git a/sys/netpfil/pf/pf_lb.c b/sys/netpfil/pf/pf_lb.c index 3190e5311ff5..a208e752e68e 100644 --- a/sys/netpfil/pf/pf_lb.c +++ b/sys/netpfil/pf/pf_lb.c @@ -237,7 +237,15 @@ pf_get_sport(sa_family_t af, u_int8_t proto, struct pf_krule *r, * port search; start random, step; * similar 2 portloop in in_pcbbind */ - if (!(proto == IPPROTO_TCP || proto == IPPROTO_UDP || + if (proto == IPPROTO_SCTP) { + key.port[1] = sport; + if (!pf_find_state_all_exists(&key, PF_IN)) { + *nport = sport; + return (0); + } else { + return (1); /* Fail mapping. */ + } + } else if (!(proto == IPPROTO_TCP || proto == IPPROTO_UDP || proto == IPPROTO_ICMP) || (low == 0 && high == 0)) { /* * XXX bug: icmp states don't use the id on both sides. @@ -698,6 +706,10 @@ pf_get_translation(struct pf_pdesc *pd, struct mbuf *m, int off, int direction, PF_POOLMASK(naddr, naddr, &r->rpool.cur->addr.v.a.mask, daddr, pd->af); + /* Do not change SCTP ports. */ + if (pd->proto == IPPROTO_SCTP) + break; + if (r->rpool.proxy_port[1]) { uint32_t tmp_nport; From nobody Fri Aug 11 12:13:37 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMjPZ07tPz4q0yk; Fri, 11 Aug 2023 12:13:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMjPY4z14z4BYg; Fri, 11 Aug 2023 12:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c5gOVszV00O3KMbLGoN0k0gbLMqoI9IN4fi3Kc0S2ow=; b=Uc+KzNZS6m7SnMYk5HOj98yMr0FdyZOgOhsgFSsIYOrOtOQAiO98e6r2721ImuGsT/ru8V jrBqUoZRf1B+RoBqRvsx427RteEN2WdNtvY9A/MgmzuC8k3fZDQwbvqsTLPyw+JP560lOL LTW00tOypJoPC0tnA7Fp2B8xugW6u7SA+uPBAcS7U/ktT8cSK7PEEismGXq/n0yZtu3aW9 qQ5C6LZBtEeJPuIrK3utZr0WZ/C9j+V6dq7BjbnEFVhbc9SMbDpYA0wsLjVhJLrg5vIZ5k 5xj8rBM6Pq8LS5U3IvcWp8dE1vorhz204qM8ay4VxgShQtIHFPKC9Ac/eniNOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756017; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=c5gOVszV00O3KMbLGoN0k0gbLMqoI9IN4fi3Kc0S2ow=; b=MMBSWfhem4AA9Kc3MVKhS8XczRsOnG7dZAFuBJb4g3RSwdW2HFslDiRCbnzqkGGkmuT+cC gbft/ygEl2VwUKLklmFSr9+WJEM3zWaMdyDAPHfkXe0Z63o5ffRxqAG7bH6tM6PNBVU39a aJObMW1SV0lFxqVmuajS0XEDApfcyR3K/YXYyaWz+j6Q5JP2yNclx2qwWJsUoDSYqDm5/+ 5OPYhGTodhbgkkG5/60cUNx9h1wvljMI76bgGjWNLX0mIgmke0BOrYay3UezMfeojy9ft/ UEfZHdxeAjfIgs+oYTkU/V5SYIEwdEYmD1bqy0NpPSiKfHCbqwItsiqQXaxTRw== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691756017; a=rsa-sha256; cv=none; b=Fk0d/y+RWNuoE58pPV59vJIKemkUCH8HTF4oheShLYkR6s+2V84rRX3ThTMD8P9WrSvbas ZnJP7sOBjLhaR0E89ZB+mc57Y9LEjeF6W26cZZHoTy5XFV1xhKGclyY7VRMbCsUzOcjmYM S5HD2U0e4UxC6sENIItWRbW2vwSvTR8LU+tJLwq9zNo2TJXjPSV+sm+IVevLDbz3imLd00 tZCVV4nEwCgWBTyiHcTMxFrVfTUhgojXrfRo6D1JirltCx/CXEmxb6WyDpIesIohi7iJna 7GwOb3nHmQYKI9hkYOg88Ur3qjVhCTnOhBS5aG96FP2nVMfuSrMeLVuD5ED4iQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMjPY3lMbzdgX; Fri, 11 Aug 2023 12:13:37 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BCDb3X008724; Fri, 11 Aug 2023 12:13:37 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BCDb4k008721; Fri, 11 Aug 2023 12:13:37 GMT (envelope-from git) Date: Fri, 11 Aug 2023 12:13:37 GMT Message-Id: <202308111213.37BCDb4k008721@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: dc0a6fb58471 - stable/13 - pf tests: test SCTP NAT List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: dc0a6fb5847149fd55d5bbb21c0e2c532e51be76 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=dc0a6fb5847149fd55d5bbb21c0e2c532e51be76 commit dc0a6fb5847149fd55d5bbb21c0e2c532e51be76 Author: Kristof Provost AuthorDate: 2023-06-01 13:28:58 +0000 Commit: Kristof Provost CommitDate: 2023-08-11 12:13:10 +0000 pf tests: test SCTP NAT MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D40867 (cherry picked from commit 1e02b7cb07ce31ad3c9e8c8be806d2825febb5ab) --- tests/sys/netpfil/pf/sctp.sh | 106 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 106 insertions(+) diff --git a/tests/sys/netpfil/pf/sctp.sh b/tests/sys/netpfil/pf/sctp.sh index 59697ad37be2..659c11c62113 100644 --- a/tests/sys/netpfil/pf/sctp.sh +++ b/tests/sys/netpfil/pf/sctp.sh @@ -298,10 +298,116 @@ abort_v4_cleanup() pft_cleanup } +atf_test_case "nat_v4" "cleanup" +nat_v4_head() +{ + atf_set descr 'Test NAT-ing SCTP over IPv4' + atf_set require.user root +} + +nat_v4_body() +{ + sctp_init + + j="sctp:nat_v4" + epair_c=$(vnet_mkepair) + epair_srv=$(vnet_mkepair) + + vnet_mkjail ${j}srv ${epair_srv}a + vnet_mkjail ${j}gw ${epair_srv}b ${epair_c}a + vnet_mkjail ${j}c ${epair_c}b + + jexec ${j}srv ifconfig ${epair_srv}a 198.51.100.1/24 up + # No default route in srv jail, to ensure we're NAT-ing + jexec ${j}gw ifconfig ${epair_srv}b 198.51.100.2/24 up + jexec ${j}gw ifconfig ${epair_c}a 192.0.2.1/24 up + jexec ${j}gw sysctl net.inet.ip.forwarding=1 + jexec ${j}c ifconfig ${epair_c}b 192.0.2.2/24 up + jexec ${j}c route add default 192.0.2.1 + + jexec ${j}gw pfctl -e + pft_set_rules ${j}gw \ + "nat on ${epair_srv}b from 192.0.2.0/24 -> (${epair_srv}b)" \ + "pass" + + # Sanity check + atf_check -s exit:0 -o ignore \ + jexec ${j}c ping -c 1 198.51.100.1 + + echo "foo" | jexec ${j}srv nc --sctp -N -l 1234 & + + # Wait for the server to start + sleep 1 + + out=$(jexec ${j}c nc --sctp -N -w 3 198.51.100.1 1234) + if [ "$out" != "foo" ]; then + atf_fail "SCTP connection failed" + fi +} + +nat_v4_cleanup() +{ + pft_cleanup +} + +atf_test_case "nat_v6" "cleanup" +nat_v6_head() +{ + atf_set descr 'Test NAT-ing SCTP over IPv6' + atf_set require.user root +} + +nat_v6_body() +{ + sctp_init + + j="sctp:nat_v6" + epair_c=$(vnet_mkepair) + epair_srv=$(vnet_mkepair) + + vnet_mkjail ${j}srv ${epair_srv}a + vnet_mkjail ${j}gw ${epair_srv}b ${epair_c}a + vnet_mkjail ${j}c ${epair_c}b + + jexec ${j}srv ifconfig ${epair_srv}a inet6 2001:db8::1/64 up no_dad + # No default route in srv jail, to ensure we're NAT-ing + jexec ${j}gw ifconfig ${epair_srv}b inet6 2001:db8::2/64 up no_dad + jexec ${j}gw ifconfig ${epair_c}a inet6 2001:db8:1::1/64 up no_dad + jexec ${j}gw sysctl net.inet6.ip6.forwarding=1 + jexec ${j}c ifconfig ${epair_c}b inet6 2001:db8:1::2/64 up no_dad + jexec ${j}c route add -6 default 2001:db8:1::1 + + jexec ${j}gw pfctl -e + pft_set_rules ${j}gw \ + "nat on ${epair_srv}b from 2001:db8:1::/64 -> (${epair_srv}b)" \ + "pass" + + # Sanity check + atf_check -s exit:0 -o ignore \ + jexec ${j}c ping -6 -c 1 2001:db8::1 + + echo "foo" | jexec ${j}srv nc -6 --sctp -N -l 1234 & + + # Wait for the server to start + sleep 1 + + out=$(jexec ${j}c nc --sctp -N -w 3 2001:db8::1 1234) + if [ "$out" != "foo" ]; then + atf_fail "SCTP connection failed" + fi +} + +nat_v6_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "basic_v4" atf_add_test_case "basic_v6" atf_add_test_case "abort_v4" atf_add_test_case "abort_v6" + atf_add_test_case "nat_v4" + atf_add_test_case "nat_v6" } From nobody Fri Aug 11 12:13:38 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMjPb0f6Bz4TjRB; Fri, 11 Aug 2023 12:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMjPZ5hJVz3gkf; Fri, 11 Aug 2023 12:13:38 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Qnd5owr7NoG8Q4U4dRX039tQhtYRWNcxFqwnwZ+Cgc=; b=GXzj5QHQDB4Grpc0QdHFnrFB//G3eoQzZvU45d+hq14+vM3o1X5HV3WEcAS3B8T8ZbSvBL ERitFNNM23IOxYtGTMQLL6HcgC7LrpGhNzKIiCmcQ/bp9gts9e6/CQP6w8qvzVnPEEB5Ad Bna/AmrQ2eanvUGFDxWxOGamZaMohJP6HlEBEBCB8HEpWNR5aYC2krLcLR6ZT9AI6NpUjM CxRWBheja2hkILAE5hT7m1gkNMLpKTKBKF6ROkadeKVboLD0q/8jzMgFpg2fJ3ic1a68b9 gKnfpntmZUGAEuFgwFecSA1ZHV8COY3IxPCy7aZMr9xbPhGtkeGk/IoOv5MNfw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756018; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=9Qnd5owr7NoG8Q4U4dRX039tQhtYRWNcxFqwnwZ+Cgc=; b=iqj3Ok2oJNTxug5B/PzwixLamCJ7TeWgkfpxw3XD2mBdubb2sOGVxJJkj81Bst1dfkUD64 U+KW/E3RHd3VUgGxHfP1KnujMiZ+hSZkMd932n0mMO6wOHZ52L8xqfaN0Jhav4SqehZb0s +dWP0GPSa29BNPpu6zLChhU9ZOTPc32YEi54YQizYh3pOY+FOYn83m7GiJJn+a4oaVvw6A 03tGdG+GKH9yAEkfbxvgOdw/lnsOvyaKuGrBBsyjQetAjgyFYdiVF3YWp3WK8VyuGs86jY GPELi3wHgrLla5hO2i5Y+Kem30ADdvmJODNOrHQT2JDaF76woROoyehTqy2Iyg== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691756018; a=rsa-sha256; cv=none; b=IJDhma+BgFJhm8VQzbk0P1EUNBn+L9snSlK/pQRrSs/YYLrMwSPpByxNwgKiJylL2i7e3k cugxuwJKIN7hoIUkRcxWJw1tJxrcNALBQqi7F9ls7WwoUT2u9zNEJmjhfBmYGd9AGrgCFB 2S8+YMF26tiJpFnLckxrHNbSpceorCWHFCEiZ9NyFxK/S1XMWmd9Qenao4oHh8OSaEVk+U l4PzxfmScSHt0RSNRGBpkJzf6HBIaS8ObVX59cMd4yBlm/aM5Vf2oLVhOi5I8NmEVrTV+B 79zX/ryn3/kl2dror586QDdbMDkDZ6dKGmjH/TO3JzhwaITC2NlVxa2kzAREvw== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMjPZ4lZczfRG; Fri, 11 Aug 2023 12:13:38 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BCDc6e008769; Fri, 11 Aug 2023 12:13:38 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BCDci3008766; Fri, 11 Aug 2023 12:13:38 GMT (envelope-from git) Date: Fri, 11 Aug 2023 12:13:38 GMT Message-Id: <202308111213.37BCDci3008766@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: 1cb393fbd4c2 - stable/13 - pf tests: test 'rdr' for SCTP List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: 1cb393fbd4c2a272b6e4fadd03cde2cd9d60b240 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=1cb393fbd4c2a272b6e4fadd03cde2cd9d60b240 commit 1cb393fbd4c2a272b6e4fadd03cde2cd9d60b240 Author: Kristof Provost AuthorDate: 2023-06-01 16:03:07 +0000 Commit: Kristof Provost CommitDate: 2023-08-11 12:13:10 +0000 pf tests: test 'rdr' for SCTP Explicitly test that we cannot change the port number with rdr. That's not a desireable feature on SCTP, because it could break multihomed connections. MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D40868 (cherry picked from commit 4369a57514f227c989d4de87d1ce54470279ba41) --- tests/sys/netpfil/pf/sctp.sh | 68 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) diff --git a/tests/sys/netpfil/pf/sctp.sh b/tests/sys/netpfil/pf/sctp.sh index 659c11c62113..2c736017f9fa 100644 --- a/tests/sys/netpfil/pf/sctp.sh +++ b/tests/sys/netpfil/pf/sctp.sh @@ -402,6 +402,73 @@ nat_v6_cleanup() pft_cleanup } +atf_test_case "rdr_v4" "cleanup" +rdr_v4_head() +{ + atf_set descr 'Test rdr SCTP over IPv4' + atf_set require.user root +} + +rdr_v4_body() +{ + sctp_init + + j="sctp:rdr_v4" + epair_c=$(vnet_mkepair) + epair_srv=$(vnet_mkepair) + + vnet_mkjail ${j}srv ${epair_srv}a + vnet_mkjail ${j}gw ${epair_srv}b ${epair_c}a + vnet_mkjail ${j}c ${epair_c}b + + jexec ${j}srv ifconfig ${epair_srv}a 198.51.100.1/24 up + # No default route in srv jail, to ensure we're NAT-ing + jexec ${j}gw ifconfig ${epair_srv}b 198.51.100.2/24 up + jexec ${j}gw ifconfig ${epair_c}a 192.0.2.1/24 up + jexec ${j}gw sysctl net.inet.ip.forwarding=1 + jexec ${j}c ifconfig ${epair_c}b 192.0.2.2/24 up + jexec ${j}c route add default 192.0.2.1 + + jexec ${j}gw pfctl -e + pft_set_rules ${j}gw \ + "rdr pass on ${epair_srv}b proto sctp from 198.51.100.0/24 to any port 1234 -> 192.0.2.2 port 1234" \ + "pass" + + echo "foo" | jexec ${j}c nc --sctp -N -l 1234 & + + # Wait for the server to start + sleep 1 + + out=$(jexec ${j}srv nc --sctp -N -w 3 198.51.100.2 1234) + if [ "$out" != "foo" ]; then + atf_fail "SCTP connection failed" + fi + + # Despite configuring port changes pf will not do so. + echo "bar" | jexec ${j}c nc --sctp -N -l 1234 & + + pft_set_rules ${j}gw \ + "rdr pass on ${epair_srv}b proto sctp from 198.51.100.0/24 to any port 1234 -> 192.0.2.2 port 4321" \ + "pass" + + # This will fail + out=$(jexec ${j}srv nc --sctp -N -w 3 198.51.100.2 4321) + if [ "$out" == "bar" ]; then + atf_fail "Port was unexpectedly changed." + fi + + # This succeeds + out=$(jexec ${j}srv nc --sctp -N -w 3 198.51.100.2 1234) + if [ "$out" != "bar" ]; then + atf_fail "Port was unexpectedly changed." + fi +} + +rdr_v4_cleanup() +{ + pft_cleanup +} + atf_init_test_cases() { atf_add_test_case "basic_v4" @@ -410,4 +477,5 @@ atf_init_test_cases() atf_add_test_case "abort_v6" atf_add_test_case "nat_v4" atf_add_test_case "nat_v6" + atf_add_test_case "rdr_v4" } From nobody Fri Aug 11 12:13:39 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMjPc1912z4TjRJ; Fri, 11 Aug 2023 12:13:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMjPb6rbhz4CX6; Fri, 11 Aug 2023 12:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZH4aumL1l+N1P8eYJXZisJwjvI5ixwHU0lsvJsCQZJ4=; b=czODAisneQHEkn7hhr2dw9kzMzfsoeSWoXgiTLTuABD1P0HQcb8y4NqZaBbWosSWj+4/HB J8+Nb/tsa/nn5wn4rgO8PPZswEb3zHsN/2uiorRQQUxN66ejEdh1FnBvuth/s17u0CiuDR AmF+LxV2T0ti6epW+IfEJ59idy3L+HeBCmBUzUIR5npgeAXCGWFkJ7KlHonGJGs/xFmbRt rSfSpO28dbHGqvA0VXL8BreUFoUAYS69n4cy4FpwjQOoIDbjy+VM1PA4T/FxmgzpeVJbZU WBO0gQymfGZYXnESDmZheVOHaQV+YJtJ/GHIat3BwdsgMzC09OnpLjV2KuXM6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756020; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=ZH4aumL1l+N1P8eYJXZisJwjvI5ixwHU0lsvJsCQZJ4=; b=trvMen1KNIbii73jV5Ji7CFrfI0ZF5jGuSBKJapvGP1cHL3JVnOz5OiGn3oX7bbHs3lDS7 GF0ge8g/jyBssP2hs8o727hukgHFN6nnFJQgUcu/m14Lz7wy5pHH8HhqYd0Rxu5L478g9G cU0eq21DzR+f+d205zKHcY1AGmcq2Sv8Oyq1t3NRlimSm3G7rEEf0mZ9jMkvEkheGmmqvo 2Eq5R2HbQMjnHo4eZnhjwMDEV01ByoG5SII6Od4CZRa/y+MNdW2GgV6X7yFym1Bl5uprz/ zZ5GtEMIEbF498/4LFApbBcrUMSAmhS9J2k78ho2/gXHwXYNb1mh58DrkBUFIQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691756020; a=rsa-sha256; cv=none; b=ByO4s4PrWXBjluG4zeFbEu9Jl9837wU2d5dplsX0tq0Gd/6sda2490SjorMYQxJPHUwmd1 RgoxRWIvAfxq8CPRnC5cbhD6ygQMP2uZRdZ3x2bRzMCpHIJeukUdo6Wx5ywhZcfR4WKDOi H3VLYMQu6pI7rBEJzVOys649DgeamGzsBZPZ6jZkWa41lnbsJ5mXw6Y8D/xK1vapao9+n+ zyfRXYZFE8GoPgiXg2QcBlWauSLGpJnk4CO1YVMp+UgnZ6ibF23d4Y/8LH7iyBc7FRWVA2 vc7Q8MkebgpFWYagx3RycfPzq9IrWo3roGo9SAeINsY/AH3sdJIUKVJNX0Tg6Q== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMjPb5q6Xzdms; Fri, 11 Aug 2023 12:13:39 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BCDdFC008813; Fri, 11 Aug 2023 12:13:39 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BCDdYa008810; Fri, 11 Aug 2023 12:13:39 GMT (envelope-from git) Date: Fri, 11 Aug 2023 12:13:39 GMT Message-Id: <202308111213.37BCDdYa008810@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: d77d4c6a0419 - stable/13 - pf tests: test SCTP pfsync List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: d77d4c6a04192859dabee22ce49d8e115a20d45c Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=d77d4c6a04192859dabee22ce49d8e115a20d45c commit d77d4c6a04192859dabee22ce49d8e115a20d45c Author: Kristof Provost AuthorDate: 2023-06-07 09:55:06 +0000 Commit: Kristof Provost CommitDate: 2023-08-11 12:13:10 +0000 pf tests: test SCTP pfsync Ensure that SCTP connections survive a failover to the backup pf instance. MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D40869 (cherry picked from commit b7a9a5773a0fdf9b9c7839d79d76dbc6b69a6c4b) --- tests/sys/netpfil/pf/sctp.sh | 188 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 188 insertions(+) diff --git a/tests/sys/netpfil/pf/sctp.sh b/tests/sys/netpfil/pf/sctp.sh index 2c736017f9fa..ec131a6384cc 100644 --- a/tests/sys/netpfil/pf/sctp.sh +++ b/tests/sys/netpfil/pf/sctp.sh @@ -469,6 +469,193 @@ rdr_v4_cleanup() pft_cleanup } +atf_test_case "pfsync" "cleanup" +pfsync_head() +{ + atf_set descr 'Test pfsync-ing SCTP connections' + atf_set require.user root +} + +pfsync_body() +{ + # + Builds bellow topology and initiate an SCTP connection + # from client to server. + # + Tests that the connection remains open when we fail over from + # router one to router two. + # + # ┌──────┐ + # │client│ + # └───┬──┘ + # │ + # ┌───┴───┐ + # │bridge0│ + # └┬─────┬┘ + # │ │ + # ┌────────────────┴─┐ ┌─┴────────────────┐ + # │ one ├─┤ two │ + # └────────────────┬─┘ └─┬────────────────┘ + # │ │ + # ┌┴─────┴┐ + # │bridge1│ + # └───┬───┘ + # │ + # ┌───┴──┐ + # │server│ + # └──────┘ + + sctp_init + pfsynct_init + if ! kldstat -q -m carp + then + atf_skip "This test requires carp" + fi + + j="sctp:pfsync" + + tmp=`pwd` + + bridge0=$(vnet_mkbridge) + bridge1=$(vnet_mkbridge) + + epair_c=$(vnet_mkepair) + epair_one0=$(vnet_mkepair) + epair_two0=$(vnet_mkepair) + epair_sync=$(vnet_mkepair) + epair_one1=$(vnet_mkepair) + epair_two1=$(vnet_mkepair) + epair_srv=$(vnet_mkepair) + + ifconfig ${bridge0} addm ${epair_c}a addm ${epair_one0}a addm ${epair_two0}a + ifconfig ${epair_one0}a up + ifconfig ${epair_two0}a up + ifconfig ${epair_c}a up + ifconfig ${bridge0} up + + ifconfig ${bridge1} addm ${epair_srv}a addm ${epair_one1}a addm ${epair_two1}a + ifconfig ${epair_one1}a up + ifconfig ${epair_two1}a up + ifconfig ${epair_srv}a up + ifconfig ${bridge1} up + + vnet_mkjail ${j}c ${epair_c}b + jexec ${j}c ifconfig ${epair_c}b 192.0.2.2/24 up + jexec ${j}c route add default 192.0.2.1 + + vnet_mkjail ${j}one ${epair_one0}b ${epair_one1}b ${epair_sync}a + jexec ${j}one ifconfig ${epair_one0}b 192.0.2.3/24 up + jexec ${j}one ifconfig ${epair_one0}b \ + alias 192.0.2.1/32 vhid 1 pass 1234 + jexec ${j}one ifconfig ${epair_one1}b 198.51.100.3/24 up + jexec ${j}one ifconfig ${epair_one1}b \ + alias 198.51.100.2/32 vhid 2 pass 4321 + jexec ${j}one ifconfig ${epair_sync}a 203.0.113.1/24 up + jexec ${j}one ifconfig pfsync0 \ + syncdev ${epair_sync}a \ + maxupd 1 \ + up + jexec ${j}one sysctl net.inet.ip.forwarding=1 + + vnet_mkjail ${j}two ${epair_two0}b ${epair_two1}b ${epair_sync}b + jexec ${j}two ifconfig ${epair_two0}b 192.0.2.4/24 up + jexec ${j}two ifconfig ${epair_two0}b \ + alias 192.0.2.1/32 vhid 1 pass 1234 + jexec ${j}two ifconfig ${epair_two1}b 198.51.100.4/24 up + jexec ${j}two ifconfig ${epair_two1}b \ + alias 198.51.100.2/32 vhid 2 pass 4321 + jexec ${j}two ifconfig ${epair_sync}b 203.0.113.2/24 up + jexec ${j}two ifconfig pfsync0 \ + syncdev ${epair_sync}b \ + maxupd 1 \ + up + jexec ${j}two sysctl net.inet.ip.forwarding=1 + + vnet_mkjail ${j}srv ${epair_srv}b + jexec ${j}srv ifconfig ${epair_srv}b 198.51.100.1/24 up + jexec ${j}srv route add default 198.51.100.2 + + # Demote two, to avoid dealing with asymmetric routing + jexec ${j}two sysctl net.inet.carp.demotion=50 + + jexec ${j}one pfctl -e + pft_set_rules ${j}one \ + "block all" \ + "pass proto { icmp, pfsync, carp }" \ + "pass proto sctp to port 1234" \ + "pass proto tcp to port 1234" + + jexec ${j}two pfctl -e + pft_set_rules ${j}two \ + "block all" \ + "pass proto { icmp, pfsync, carp }" \ + "pass proto sctp to port 1234" \ + "pass proto tcp to port 1234" + + # Give carp time to get set up + sleep 2 + + # Sanity check + atf_check -s exit:0 -o ignore \ + jexec ${j}c ping -c 1 198.51.100.1 + + # Now start up an SCTP connection + touch ${tmp}/input + tail -F ${tmp}/input | jexec ${j}srv nc --sctp -l 1234 & + sleep 1 + + jexec ${j}c nc --sctp 198.51.100.1 1234 > ${tmp}/output & + echo "1" >> ${tmp}/input + + # Give time for the traffic to arrive + sleep 1 + line=$(tail -n -1 ${tmp}/output) + if [ "${line}" != "1" ]; + then + echo "Found ${line}" + cat ${tmp}/output + atf_fail "Initial SCTP connection failed" + fi + + # Verify that two has the connection too + state=$(jexec ${j}two pfctl -ss | grep sctp) + if [ -z "${state}" ]; + then + jexec ${j}two pfctl -ss + atf_fail "Failed to find SCTP state on secondary pfsync host" + fi + + # Now fail over (both carp IPs should switch here) + jexec ${j}one sysctl net.inet.carp.demotion=100 + + while ! jexec ${j}one ifconfig ${epair_one0}b | grep MASTER; + do + sleep 1 + done + while ! jexec ${j}one ifconfig ${epair_one1}b | grep MASTER; + do + sleep 1 + done + + # Sanity check + atf_check -s exit:0 -o ignore \ + jexec ${j}c ping -c 1 198.51.100.1 + + # And check that the connection is still live + echo "2" >> ${tmp}/input + sleep 1 + line=$(tail -n -1 ${tmp}/output) + if [ "${line}" != "2" ]; + then + echo "Found ${line}" + cat ${tmp}/output + atf_fail "SCTP failover failed" + fi +} + +pfsync_cleanup() +{ + pfsynct_cleanup +} + atf_init_test_cases() { atf_add_test_case "basic_v4" @@ -478,4 +665,5 @@ atf_init_test_cases() atf_add_test_case "nat_v4" atf_add_test_case "nat_v6" atf_add_test_case "rdr_v4" + atf_add_test_case "pfsync" } From nobody Fri Aug 11 12:13:40 2023 X-Original-To: dev-commits-src-branches@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4RMjPd27D4z4TjNW; Fri, 11 Aug 2023 12:13:41 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4RMjPd0ggfz3glP; Fri, 11 Aug 2023 12:13:41 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a3YG4t29lqQ8Y9J48nwGPvX2ZFhE2GtBwO8OyMQAFws=; b=iGexz/fd73GYjBhByn58VMSbszSKMZ/rjlby31W1BAbbbtVUUHYtpb6QvAuzw7OwqXmkyI Mp7zt8CqTktcAE4P6HsqY7rDciCr/huZYGmfi1VsK/MYXfn7OVl58oBAxONqvrQhRhCWTM 4ALPokwvOm5C8WX0mDMsOEMU/Is0X+pxS7nnGRwafIzQEgL/Xu5sskga3MiEEIi6Eu32Bu gpynDDgNcPZMbj1Cgkc9vPTpcf9ExpWgPHeyZE3sRLedoMXsy5iMg1DWxUg6kwCpwixx5q Mkzfk45UfOa8JkcTDvgGJFO7+tnWatBjOh6+y5bufKTZFX8yL8qSgDlHxxjQqw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1691756021; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=a3YG4t29lqQ8Y9J48nwGPvX2ZFhE2GtBwO8OyMQAFws=; b=hYLIaE52h9mWyd8qR1IdXjlwim4wCDjyO2m8P+IAPONH0ilvRbRjYuxwJaLPQqCJxS84ke hK9GEScHYDaPFtSU5r8dhUpZgthHBHuQK76YXjOaWJ7kNTiElDFkOlcARBivbsxKuUnHh8 L56rlB0LU2nmkUaMWwGa3fE+MPPy73oE66ET4RdLk7MK6uhHrhShEU6ERUAexiDSLoRcGL AFiWXOZgc21tq8ytd2686X5yzB/GVSQMMVEm3XjJJtX1XoCkbpgeBxA01zXc5XP1+bGUpY MmW+mFmqf22jhXzUV5DYH0HXnfQ2akP3m6PNlj3LO5x4SyY1ra8vwKJYAAUspQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1691756021; a=rsa-sha256; cv=none; b=J8UcCeCpYg4yxJ0Rn/wPGFiVeiYg658wVIOnYMA6ZTnOJ2/ltQMR82OMHJf8newyCv1BlY amojlArukbrBkE1B3LuaUHURMgYkRUEKdThbnm0e2Qwhv43dR7zhPwmtbTjteYnDBY6PsR IPfKj3cYvpB+yQMHkh0b8jLDEUMFfNiKaD9P+Fn0abW54hWBfjJSSsYUNp45tBc4QoCZA5 oTEynEvPDyf5FqzaDnxo63jQn3dxM33Jx6nh8C5bWc6R/RgwnC/3PpCvuBPjYTQg7m3q78 KM4TyE8w8SXYaB2FPeI1t7G0cz7wMIhm2FGSQRlANpG3x8OQi9TmeBoQKClj1w== ARC-Authentication-Results: i=1; mx1.freebsd.org; none Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4RMjPc6XR8zdpf; Fri, 11 Aug 2023 12:13:40 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.17.1/8.17.1) with ESMTP id 37BCDeXU008852; Fri, 11 Aug 2023 12:13:40 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.17.1/8.17.1/Submit) id 37BCDeGl008849; Fri, 11 Aug 2023 12:13:40 GMT (envelope-from git) Date: Fri, 11 Aug 2023 12:13:40 GMT Message-Id: <202308111213.37BCDeGl008849@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-branches@FreeBSD.org From: Kristof Provost Subject: git: c46419526269 - stable/13 - pf.conf.5: document SCTP support List-Id: Commits to the stable branches of the FreeBSD src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-branches List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-branches@freebsd.org X-BeenThere: dev-commits-src-branches@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: kp X-Git-Repository: src X-Git-Refname: refs/heads/stable/13 X-Git-Reftype: branch X-Git-Commit: c46419526269025a797a365a240b8fcd307e4281 Auto-Submitted: auto-generated The branch stable/13 has been updated by kp: URL: https://cgit.FreeBSD.org/src/commit/?id=c46419526269025a797a365a240b8fcd307e4281 commit c46419526269025a797a365a240b8fcd307e4281 Author: Kristof Provost AuthorDate: 2023-06-21 08:04:07 +0000 Commit: Kristof Provost CommitDate: 2023-08-11 12:13:10 +0000 pf.conf.5: document SCTP support Mention SCTP in the pf.conf.5 Reviewed by: tuexen MFC after: 3 weeks Sponsored by: Orange Business Services Differential Revision: https://reviews.freebsd.org/D40870 (cherry picked from commit 47d0c1fe7d3279e9d38df75cf0c359b1fbc26d5e) --- share/man/man5/pf.conf.5 | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/share/man/man5/pf.conf.5 b/share/man/man5/pf.conf.5 index cc1b902e0006..95710027bdf3 100644 --- a/share/man/man5/pf.conf.5 +++ b/share/man/man5/pf.conf.5 @@ -28,7 +28,7 @@ .\" ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE .\" POSSIBILITY OF SUCH DAMAGE. .\" -.Dd September 25, 2021 +.Dd June 21, 2023 .Dt PF.CONF 5 .Os .Sh NAME @@ -491,6 +491,7 @@ action: Packet is silently dropped. .It Ar return A TCP RST is returned for blocked TCP packets, +an SCTP ABORT chunk is returned for blocked SCTP packets, an ICMP UNREACHABLE is returned for blocked UDP packets, and all other packets are silently dropped. .El @@ -515,6 +516,7 @@ actions are possible: Incoming packet is silently dropped. .It Ar return Incoming packet is dropped and TCP RST is returned for TCP packets, +an SCTP ABORT chunk is returned for blocked SCTP packets, an ICMP UNREACHABLE is returned for UDP packets, and no response is sent for other packets. .El @@ -1139,8 +1141,8 @@ A stateful connection is automatically created to track packets matching such a rule as long as they are not blocked by the filtering section of .Nm pf.conf . The translation engine modifies the specified address and/or port in the -packet, recalculates IP, TCP and UDP checksums as necessary, and passes it to -the packet filter for evaluation. +packet, recalculates IP, TCP and UDP checksums as necessary, and passes +it to the packet filter for evaluation. .Pp Since translation occurs before filtering the filter engine will see packets as they look after any @@ -1276,6 +1278,7 @@ and layer 4 (see .Xr icmp 4 , .Xr icmp6 4 , .Xr tcp 4 , +.Xr sctp 4 , .Xr udp 4 ) headers. In addition, packets may also be @@ -1325,7 +1328,8 @@ can be overridden by specifying a message as a code or number. .It Ar return This causes a TCP RST to be returned for .Xr tcp 4 -packets and an ICMP UNREACHABLE for UDP and other packets. +packets, an SCTP ABORT for SCTP +and an ICMP UNREACHABLE for UDP and other packets. .El .Pp Options returning ICMP packets currently have no effect if @@ -1515,6 +1519,7 @@ Common protocols are .Xr icmp 4 , .Xr icmp6 4 , .Xr tcp 4 , +.Xr sctp 4 , and .Xr udp 4 . For a list of all the protocol name to number mappings used by @@ -2717,6 +2722,14 @@ reference to an anchor name containing characters will require double quote .Pq Sq \&" characters around the anchor name. +.Sh SCTP CONSIDERATIONS +.Xr pf 4 +supports +.Xr sctp 4 +connections. +It can match ports, track state and NAT SCTP traffic. +However, it will not alter port numbers during nat or rdr translations. +Doing so would break SCTP multihoming. .Sh TRANSLATION EXAMPLES This example maps incoming requests on port 80 to port 8080, on which a daemon is running (because, for example, it is not run as root, @@ -3162,6 +3175,7 @@ Service name database. .Xr pf 4 , .Xr pfsync 4 , .Xr tcp 4 , +.Xr sctp 4 , .Xr udp 4 , .Xr hosts 5 , .Xr pf.os 5 ,