svn commit: r273784 - in head/sys: amd64/ia32 compat/freebsd32 i386/i386 kern net
Konstantin Belousov
kostikbel at gmail.com
Wed Oct 29 16:58:46 UTC 2014
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.
More information about the svn-src-head
mailing list