move it to mm/mmap.cc which uses it exclusively.
Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
/* Get handle count of an object. */
ULONG get_obj_handle_count (HANDLE h);
-/* Memory checking */
-int check_invalid_virtual_addr (const void *s, unsigned sz);
-
ssize_t check_iovec (const struct iovec *, int, bool);
#define check_iovec_for_read(a, b) check_iovec ((a), (b), false)
#define check_iovec_for_write(a, b) check_iovec ((a), (b), true)
return hdl_cnt;
}
-int
-check_invalid_virtual_addr (const void *s, unsigned sz)
-{
- MEMORY_BASIC_INFORMATION mbuf;
- const void *end;
-
- for (end = (char *) s + sz; s < end;
- s = (char *) mbuf.BaseAddress + mbuf.RegionSize)
- if (!VirtualQuery (s, &mbuf, sizeof mbuf))
- return EINVAL;
- return 0;
-}
-
static char __attribute__ ((noinline))
dummytest (volatile char *p)
{
/* munmap () removes all mmapped pages between addr and addr+len. */
+static inline int
+check_invalid_virtual_addr (const void *s, unsigned sz)
+{
+ MEMORY_BASIC_INFORMATION mbuf;
+ const void *end;
+
+ for (end = (char *) s + sz; s < end;
+ s = (char *) mbuf.BaseAddress + mbuf.RegionSize)
+ if (!VirtualQuery (s, &mbuf, sizeof mbuf))
+ return EINVAL;
+ return 0;
+}
+
extern "C" int
munmap (void *addr, size_t len)
{