Date: Wed, 29 Oct 2014 18:58:40 +0200 From: Konstantin Belousov <kostikbel@gmail.com> To: John Baldwin <jhb@freebsd.org> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org, Bruce Evans <brde@optusnet.com.au> Subject: Re: svn commit: r273784 - in head/sys: amd64/ia32 compat/freebsd32 i386/i386 kern net Message-ID: <20141029165840.GG53947@kib.kiev.ua> In-Reply-To: <201410291200.49330.jhb@freebsd.org> References: <201410281528.s9SFSLs2013764@svn.freebsd.org> <20141029042007.N2423@besplex.bde.org> <20141029155230.GE53947@kib.kiev.ua> <201410291200.49330.jhb@freebsd.org>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 29, 2014 at 12:00:49PM -0400, John Baldwin wrote: > On Wednesday, October 29, 2014 11:52:30 am Konstantin Belousov wrote: > > On Wed, Oct 29, 2014 at 06:26:42AM +1100, Bruce Evans wrote: > > > I just noticed some more API design errors. The pointer type for new > > > APIs should be [qualifed] wordsize_t *, not [qualified] void *. Using > > > void * reduces type safety for almost no benefits. The casuword() > > > family already doesn't use void *. > > casuword() has very limited use, it was invented for umtx, and used > > only there. That said, I tend to agree with somewhat implicit note > > that base argument for fuword() and family should be vm_offset_t. > > I think Bruce is suggesting 'volatile long *' or 'volatile int32_t *' > rather than vm_offset_t. In main text, yes. But there was a small note, and I better like the vm_offset_t thing than normal pointers to different address space. In fact, something like Linux' __user annotation + vm_offset_t, which would put it extremely explicit that the address cannot be used as pointer at all. But we do not have anything 'dimentional' which would allow to prevent mixing __user and normal pointers. Some day Intel may release CPUs with SMAP.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20141029165840.GG53947>