On 17/10/2018 17:04, Joel Sherrill wrote:
Hi
We are updating the port of a large third party framework and ran
into an issue where what I would think are BSD kernel methods
leak into application space. All but one of the methods is used
by rtems-libbsd code.
I think the following in <machine/param.h> needs to be protected by
an _KERNEL ifdef.
Does that sound OK?
============================
/*
* Mach derived conversion macros
*/
#define round_page(x) (((unsigned long)(x) + PAGE_MASK) &
~PAGE_MASK)
#define trunc_page(x) ((unsigned long)(x) & ~PAGE_MASK)
#define atop(x) ((unsigned long)(x) >> PAGE_SHIFT)
#define ptoa(x) ((unsigned long)(x) << PAGE_SHIFT)
#define pgtok(x) ((unsigned long)(x) * (PAGE_SIZE / 1024))
============================
In FreeBSD they are always present:
https://github.com/freebsd/freebsd/blob/master/sys/riscv/include/param.h#L97
The <sys/param.h> is not a POSIX header file. Unfortunately it is
included in <sys/_cpuset.h> and thus in <rtems.h>. I think we should fix.
Are these macros only used in kernel-space files in libbsd?
--
Sebastian Huber, embedded brains GmbH
Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone : +49 89 189 47 41-16
Fax : +49 89 189 47 41-09
E-Mail : sebastian.hu...@embedded-brains.de
PGP : Public key available on request.
Diese Nachricht ist keine geschäftliche Mitteilung im Sinne des EHUG.
_______________________________________________
devel mailing list
devel@rtems.org
http://lists.rtems.org/mailman/listinfo/devel