From owner-svn-src-head@freebsd.org Tue Nov 17 19:51:37 2020 Return-Path: Delivered-To: svn-src-head@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id A534746DBB6; Tue, 17 Nov 2020 19:51:37 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: from spindle.one-eyed-alien.net (spindle.one-eyed-alien.net [199.48.129.229]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 4CbGm93bNLz3MZR; Tue, 17 Nov 2020 19:51:37 +0000 (UTC) (envelope-from brooks@spindle.one-eyed-alien.net) Received: by spindle.one-eyed-alien.net (Postfix, from userid 3001) id A13EB3C0199; Tue, 17 Nov 2020 19:51:36 +0000 (UTC) Date: Tue, 17 Nov 2020 19:51:36 +0000 From: Brooks Davis To: Kyle Evans Cc: src-committers , svn-src-all , svn-src-head Subject: Re: svn commit: r367744 - in head/sys: compat/freebsd32 kern sys Message-ID: <20201117195136.GB1158@spindle.one-eyed-alien.net> References: <202011170336.0AH3awYt006482@repo.freebsd.org> <20201117171114.GA1158@spindle.one-eyed-alien.net> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="uQr8t48UFsdbeI+V" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) X-Rspamd-Queue-Id: 4CbGm93bNLz3MZR X-Spamd-Bar: ---- Authentication-Results: mx1.freebsd.org; none X-Spamd-Result: default: False [-4.00 / 15.00]; REPLY(-4.00)[] X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 17 Nov 2020 19:51:37 -0000 --uQr8t48UFsdbeI+V Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Tue, Nov 17, 2020 at 11:59:50AM -0600, Kyle Evans wrote: > On Tue, Nov 17, 2020 at 11:11 AM Brooks Davis wrote: > > > > On Tue, Nov 17, 2020 at 03:36:58AM +0000, Kyle Evans wrote: > > > Modified: head/sys/compat/freebsd32/freebsd32.h > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > > > --- head/sys/compat/freebsd32/freebsd32.h Tue Nov 17 03:34:01 202= 0 (r367743) > > > +++ head/sys/compat/freebsd32/freebsd32.h Tue Nov 17 03:36:58 202= 0 (r367744) > > > @@ -94,6 +94,27 @@ struct itimerval32 { > > > struct timeval32 it_value; > > > }; > > > > > > +struct umtx_time32 { > > > + struct timespec32 _timeout; > > > + uint32_t _flags; > > > + uint32_t _clockid; > > > +}; > > > + > > > +struct umtx_robust_lists_params_compat32 { > > > + uint32_t robust_list_offset; > > > + uint32_t robust_priv_list_offset; > > > + uint32_t robust_inact_offset; > > > +}; > > > + > > > +struct umutex32 { > > > + volatile __lwpid_t m_owner; /* Owner of the mutex */ > > > + __uint32_t m_flags; /* Flags of the mutex */ > > > + __uint32_t m_ceilings[2]; /* Priority protect cei= ling */ > > > + __uint32_t m_rb_lnk; /* Robust linkage */ > > > + __uint32_t m_pad; > > > + __uint32_t m_spare[2]; > > > +}; > > > + > > > #define FREEBSD4_MFSNAMELEN 16 > > > #define FREEBSD4_MNAMELEN (88 - 2 * sizeof(int32_t)) > > > > > > > > > Modified: head/sys/compat/freebsd32/freebsd32_misc.c > > > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D > > > --- head/sys/compat/freebsd32/freebsd32_misc.c Tue Nov 17 03:3= 4:01 2020 (r367743) > > > +++ head/sys/compat/freebsd32/freebsd32_misc.c Tue Nov 17 03:3= 6:58 2020 (r367744) > > > @@ -84,6 +84,7 @@ __FBSDID("$FreeBSD$"); > > > #include > > > #include > > > #include > > > +#include > > > #include > > > #include > > > #include > > > @@ -3764,4 +3765,12 @@ freebsd32_sched_rr_get_interval(struct thread = *td, > > > error =3D copyout(&ts32, uap->interval, sizeof(ts32)); > > > } > > > return (error); > > > +} > > > + > > > +int > > > +freebsd32__umtx_op(struct thread *td, struct freebsd32__umtx_op_args= *uap) > > > +{ > > > + > > > + return (kern__umtx_op(td, uap->obj, uap->op, uap->val, uap->uad= dr, > > > + uap->uaddr2, &umtx_native_ops32)); > > > } > > > > > > > Putting any of this under compat/freebsd32 seems like a somewhat > > odd choice since all the work is done in kern_umtx.h. In CheriBSD, > > everything just lives there so nothing has to be exposed in headers. > > >=20 > I have no strong opinion here -- my initial impression of the > suggestion to move the struct definitions into freebsd32 was that: >=20 > 1.) One can then quickly reference the definition of, e.g., timespec32 > when I'm looking at a umtx_time32, and > 2.) It'd be 'cleaner', requiring less #ifdef soup in kern_umtx.c >=20 > The follow-up patch muddies the waters a lot, as we end up using the > compat32 definitions on all 64-bit platforms anyways even without > compat32. I don't object to moving any/all of this back, if you think > that's better. (1) makes sense to me. I'm less convinced of (2) especially given the followup. As a rule, I've been removing compat bits from headers when they only need to be defined in a single .c file. If nothing else, I don't like that it presents a somewhat-false implication that the interfaces are public (and there have been quite a few cases where they weren't correctly guarded with _KERNEL). -- Brooks --uQr8t48UFsdbeI+V Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQEcBAEBAgAGBQJftCnIAAoJEKzQXbSebgfANbsH/jvpZpsGATglpYvmk4Xldy3N CVw5ekoDOm3UqzaRC3wyYD1YENt74ePSzcoMZ9hrtCQyF6GkzEAt5LZMpT1eM/jI G/g9m2MmkVw02+PPgg971VMEZdIY9nHB5bMFxnlb0YUhExIWIhJhNPHnYUP3pkwf pVzzjVPM+kUY8dX6uMT5lckHeb9i9USvcKv0UMYQdx3cQ480+Ia29x52PyticZGf g/QSMcWbRSdWOlx9ZEbbZF+DZaGQFAXVY/kzE4rY/nZCfWF+hg8dSdlflkWRYhYW QP4dWwpSloYU39sjzzq7p8xuofBSSwq8+qM3QiDSJw7ljHurAZ4E3QaR19IGMfE= =JMLX -----END PGP SIGNATURE----- --uQr8t48UFsdbeI+V--