Skip site navigation (1)Skip section navigation (2)
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>