NetBSD-Bugs archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
re: port-arm/50563: pool allocator corruption due to __MUTEX_PRIVATE
The following reply was made to PR port-arm/50563; it has been noted by GNATS.
From: matthew green <mrg%eterna.com.au@localhost>
To: christos%zoulas.com@localhost (Christos Zoulas)
Cc: gnats-bugs%NetBSD.org@localhost, port-arm-maintainer%netbsd.org@localhost,
gnats-admin%netbsd.org@localhost, netbsd-bugs%netbsd.org@localhost
Subject: re: port-arm/50563: pool allocator corruption due to __MUTEX_PRIVATE
Date: Wed, 16 Dec 2015 20:34:57 +1100
> Yes, if the types of ipl_cookie_t or __cpu_simple_lock_t are not defined
> to be 8 bits. Is that the case? We should add a:
>
> CTASSERT(sizeof(uintptr_t) == sizeof(struct kmutex));
>
> in the header file to enforce that.
that doesn't seem sane to me. or even valid. alpha has a uint32 and
a uintprt_t.
struct kmutex is MD-defined. i don't know of a good way to check
this without a helper. we have to compile machine/mutex.h with and
without __MUTEX_PRIVATE defined, and compare their sizes. it seems
way to ugly to try to do this in a single C file (you'd have to
#undef all the sys/arch/foo/include/mutex.h's #ifdef _FOO_MUTEX_H,
but it would work i think...)
.mrg.
Home |
Main Index |
Thread Index |
Old Index