diff options
author | Andrew Waterman <andrew@sifive.com> | 2021-02-10 17:03:03 -0800 |
---|---|---|
committer | Andrew Waterman <andrew@sifive.com> | 2021-03-25 22:21:06 -0700 |
commit | 817e7d0dfea820a369a5b5c2d5d729942b7daf42 (patch) | |
tree | a725081a6966d928cb9ddacdd2172251ef1691f9 /pk/usermem.h | |
parent | b7f64fe5584094a6fe65d94d5e2382ff9289cbda (diff) | |
download | pk-817e7d0dfea820a369a5b5c2d5d729942b7daf42.zip pk-817e7d0dfea820a369a5b5c2d5d729942b7daf42.tar.gz pk-817e7d0dfea820a369a5b5c2d5d729942b7daf42.tar.bz2 |
pk: only access user memory through explicit accessors
Enforced with sstatus.SUM.
Diffstat (limited to 'pk/usermem.h')
-rw-r--r-- | pk/usermem.h | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/pk/usermem.h b/pk/usermem.h new file mode 100644 index 0000000..3cb3ed0 --- /dev/null +++ b/pk/usermem.h @@ -0,0 +1,14 @@ +// See LICENSE for license details. + +#ifndef _PK_USERMEM_H +#define _PK_USERMEM_H + +#include <stdbool.h> +#include <stddef.h> + +void memset_user(void* dst, int ch, size_t n); +void memcpy_to_user(void* dst, const void* src, size_t n); +void memcpy_from_user(void* dst, const void* src, size_t n); +bool strcpy_from_user(char* dst, const char* src, size_t n); + +#endif |