typedef uint16_t uaddr_t;
typedef uint16_t uptr_t; /* User pointer equivalent */
+#define MAXUSIZE 0xFFFF
+
#define uputp uputw /* Copy user pointer type */
#define ugetp ugetw /* between user and kernel */
#define uputi uputw /* Copy user int type */
typedef uint16_t uaddr_t;
typedef uint16_t uptr_t; /* User pointer equivalent */
+#define MAXUSIZE 0xFFFF
+
#define uputp uputw /* Copy user pointer type */
#define ugetp ugetw /* between user and kernel */
#define uputi uputw /* Copy user int type */
typedef uint32_t uaddr_t;
typedef uint32_t uptr_t; /* User pointer equivalent */
+#define MAXUSIZE 0xFFFFFFFF
#define uputp uputl /* Copy user pointer type */
#define ugetp ugetl /* between user and kernel */
typedef uint16_t uaddr_t; /* A user address must fit this */
typedef uint16_t uptr_t; /* User pointer equivalent */
+#define MAXUSIZE 0xFFFF
+
#define uputp uputw /* Copy user pointer type */
#define ugetp ugetw /* between user and kernel */
#define uputi uputw /* Copy user int type */
typedef uint16_t uaddr_t; /* A user address must fit this */
typedef uint16_t uptr_t; /* User pointer equivalent */
+#define MAXUSIZE 0xFFFF
+
#define uputp uputw /* Copy user pointer type */
#define ugetp ugetw /* between user and kernel */
#define uputi uputw /* Copy user int type */
typedef uint16_t uaddr_t; /* User address */
typedef uint16_t uptr_t; /* Userspace pointer equivalent */
+#define MAXUSIZE 0xFFFF
+
#define uputp uputw /* Copy user pointer type */
#define ugetp ugetw /* between user and kernel */
#define uputi uputw /* Copy user int type */
typedef int16_t susize_t;
typedef uint32_t clock_t;
+#define MAXUSIZE 0xFFFF
+
/* The MSP430 requires aligned accesses. (Annoying, it doesn't trap if you
* get this wrong. It just reads to or writes from the wrong place.) */
typedef uint16_t uaddr_t; /* A user address must fit this */
typedef uint16_t uptr_t; /* User pointer equivalent */
+#define MAXUSIZE 0xFFFF
+
#define uputp uputw /* Copy user pointer type */
#define ugetp ugetw /* between user and kernel */
#define uputi uputw /* Copy user int type */
typedef uint16_t uaddr_t; /* User address */
typedef uint16_t uptr_t; /* Userspace pointer equivalent */
+#define MAXUSIZE 0xFFFF
+
#define uputp uputw /* Copy user pointer type */
#define ugetp ugetw /* between user and kernel */
#define uputi uputw /* Copy user int type */
typedef uint16_t uaddr_t; /* User address */
typedef uint16_t uptr_t; /* Userspace pointer equivalent */
+#define MAXUSIZE 0xFFFF
+
#define uputp uputw /* Copy user pointer type */
#define ugetp ugetw /* between user and kernel */
#define uputi uputw /* Copy user int type */
usize_t valaddr(const uint8_t *base, usize_t size)
{
if (base + size < base)
- size = 0xFFFF - (uint16_t)base + 1;
+ size = MAXUSIZE - (usize_t)base + 1;
if (!base || base < (const uint8_t *)PROGBASE ||
base > (const uint8_t *)(size_t)udata.u_top)
size = 0;