Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 6 Dec 2021 17:21:24 +0000
From:      Brooks Davis <brooks@freebsd.org>
To:        Konstantin Belousov <kib@FreeBSD.org>
Cc:        src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org
Subject:   Re: git: a4e4132fa3bf - main - swapoff(2): replace special device name argument with a structure
Message-ID:  <20211206172124.GA40392@spindle.one-eyed-alien.net>
In-Reply-To: <202112042221.1B4ML7Ov002151@gitrepo.freebsd.org>
References:  <202112042221.1B4ML7Ov002151@gitrepo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help

--opJtzjQTFsWo+cga
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Sat, Dec 04, 2021 at 10:21:07PM +0000, Konstantin Belousov wrote:
> The branch main has been updated by kib:
>=20
> URL: https://cgit.FreeBSD.org/src/commit/?id=3Da4e4132fa3bfadb6047fc0fa5f=
399f4640460300
>=20
> commit a4e4132fa3bfadb6047fc0fa5f399f4640460300
> Author:     Konstantin Belousov <kib@FreeBSD.org>
> AuthorDate: 2021-11-29 16:26:31 +0000
> Commit:     Konstantin Belousov <kib@FreeBSD.org>
> CommitDate: 2021-12-04 22:20:58 +0000
>=20
>     swapoff(2): replace special device name argument with a structure
>    =20
>     For compatibility, add a placeholder pointer to the start of the
>     added struct swapoff_new_args, and use it to distinguish old vs. new
>     style of syscall invocation.

I agree with Jess that this should be a new syscall.  The entry in
sycalls.master now fails to describe the memory footprint of the name
argument.  No system call should be created or altered to have a memory
footprint not describable with SAL annotations unless an applicable
standard such as POSIX requires it.

> diff --git a/sys/vm/swap_pager.h b/sys/vm/swap_pager.h
> index 395fbc9957c4..469de3e8eaf4 100644
> --- a/sys/vm/swap_pager.h
> +++ b/sys/vm/swap_pager.h
> @@ -69,6 +69,14 @@ struct swdevt {
>  #define	SW_UNMAPPED	0x01
>  #define	SW_CLOSING	0x04
> =20
> +struct swapoff_new_args {
> +	const char *name_old_syscall;
> +	const char *name;
> +	u_int flags;
> +	u_int pad0;
> +	uintptr_t pad1[8];
> +};

If you're going to attempt to add future-proofing, please pad with the
assumption that pointers are 128-bit sized and aligned.  In this
case, that would mean an uint64_t pad before pad1.  If there were done
in place, adding the pad and dropping pad1 to 6 elements would be safe.

-- Brooks

--opJtzjQTFsWo+cga
Content-Type: application/pgp-signature; name="signature.asc"

-----BEGIN PGP SIGNATURE-----

iQEcBAEBAgAGBQJhrkaTAAoJEKzQXbSebgfA0RMH/AhaygTxl8kC4hjJrjjpKwZG
pOlX+qdN1yeaTRHmsxa0QMSJ7Zau+QS0vqXQB3RnBZr+QPqrqxuzqh75rJyryzMT
TBvEwNcAI7Gk/6Z9wHZf8S8FQXKHLVvkO/HcmtqoPSWFCxUYx/cYV3e4PLcwdFWo
lCG1SVsxdv2imiTTdXBl5wTP6DmIvLhVpJfh69DU4Km3kLuj7iwI1l+UKhVgyfij
CNwN/jSJI3KQQZDdeswBjPd1KL0lNisHztYZXya2nYPxsLWuIqK7y/GLPjvpDCI7
tjVrcm2RIY+SxVbauKTmoCUqelM3RNbwzS53NASU0/uiKXB4eFrpd+FbwvVcYm8=
=ooqx
-----END PGP SIGNATURE-----

--opJtzjQTFsWo+cga--



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20211206172124.GA40392>