kasan: provide bus peek/poke definitions
Reviewed by: andrew, markj Sponsored by: Juniper Networks, Inc. Sponsored by: Klara, Inc. Differential Revision: https://reviews.freebsd.org/D36700
This commit is contained in:
parent
f8e38b421b
commit
818cae0ff7
@ -44,6 +44,7 @@ __KERNEL_RCSID(0, "$NetBSD: subr_asan.c,v 1.26 2020/09/10 14:10:46 maxv Exp $");
|
||||
#include <sys/sysctl.h>
|
||||
|
||||
#include <machine/asan.h>
|
||||
#include <machine/bus.h>
|
||||
|
||||
/* ASAN constants. Part of the compiler ABI. */
|
||||
#define KASAN_SHADOW_MASK (KASAN_SHADOW_SCALE - 1)
|
||||
@ -1017,6 +1018,32 @@ ASAN_BUS_SET_FUNC(region, 4, uint32_t)
|
||||
ASAN_BUS_SET_FUNC(multi_stream, 4, uint32_t)
|
||||
ASAN_BUS_SET_FUNC(region_stream, 4, uint32_t)
|
||||
|
||||
#define ASAN_BUS_PEEK_FUNC(width, type) \
|
||||
int kasan_bus_space_peek_##width(bus_space_tag_t tag, \
|
||||
bus_space_handle_t hnd, bus_size_t offset, type *valuep) \
|
||||
{ \
|
||||
return (bus_space_peek_##width(tag, hnd, offset, \
|
||||
valuep)); \
|
||||
}
|
||||
|
||||
ASAN_BUS_PEEK_FUNC(1, uint8_t)
|
||||
ASAN_BUS_PEEK_FUNC(2, uint16_t)
|
||||
ASAN_BUS_PEEK_FUNC(4, uint32_t)
|
||||
ASAN_BUS_PEEK_FUNC(8, uint64_t)
|
||||
|
||||
#define ASAN_BUS_POKE_FUNC(width, type) \
|
||||
int kasan_bus_space_poke_##width(bus_space_tag_t tag, \
|
||||
bus_space_handle_t hnd, bus_size_t offset, type value) \
|
||||
{ \
|
||||
return (bus_space_poke_##width(tag, hnd, offset, \
|
||||
value)); \
|
||||
}
|
||||
|
||||
ASAN_BUS_POKE_FUNC(1, uint8_t)
|
||||
ASAN_BUS_POKE_FUNC(2, uint16_t)
|
||||
ASAN_BUS_POKE_FUNC(4, uint32_t)
|
||||
ASAN_BUS_POKE_FUNC(8, uint64_t)
|
||||
|
||||
/* -------------------------------------------------------------------------- */
|
||||
|
||||
void __asan_register_globals(struct __asan_global *, size_t);
|
||||
|
Loading…
Reference in New Issue
Block a user