diff --git a/sys/kern/kern_subr.c b/sys/kern/kern_subr.c index 2de9d776b84..931a893f002 100644 --- a/sys/kern/kern_subr.c +++ b/sys/kern/kern_subr.c @@ -448,7 +448,8 @@ uio_yield(void) } int -copyinfrom(const void *src, void *dst, size_t len, int seg) +copyinfrom(const void * __restrict src, void * __restrict dst, size_t len, + int seg) { int error = 0; @@ -466,7 +467,8 @@ copyinfrom(const void *src, void *dst, size_t len, int seg) } int -copyinstrfrom(const void *src, void *dst, size_t len, size_t *copied, int seg) +copyinstrfrom(const void * __restrict src, void * __restrict dst, size_t len, + size_t * __restrict copied, int seg) { int error = 0; diff --git a/sys/sys/systm.h b/sys/sys/systm.h index 5ecae0fac62..6c1f4b33b69 100644 --- a/sys/sys/systm.h +++ b/sys/sys/systm.h @@ -185,12 +185,16 @@ void bzero(void *buf, size_t len) __nonnull(1); void *memcpy(void *to, const void *from, size_t len) __nonnull(1) __nonnull(2); -int copystr(const void *kfaddr, void *kdaddr, size_t len, - size_t *lencopied) __nonnull(1) __nonnull(2); -int copyinstr(const void *udaddr, void *kaddr, size_t len, - size_t *lencopied) __nonnull(1) __nonnull(2); -int copyin(const void *udaddr, void *kaddr, size_t len) __nonnull(1) __nonnull(2); -int copyout(const void *kaddr, void *udaddr, size_t len) __nonnull(1) __nonnull(2); +int copystr(const void * __restrict kfaddr, void * __restrict kdaddr, + size_t len, size_t * __restrict lencopied) + __nonnull(1) __nonnull(2); +int copyinstr(const void * __restrict udaddr, void * __restrict kaddr, + size_t len, size_t * __restrict lencopied) + __nonnull(1) __nonnull(2); +int copyin(const void * __restrict udaddr, void * __restrict kaddr, + size_t len) __nonnull(1) __nonnull(2); +int copyout(const void * __restrict kaddr, void * __restrict udaddr, + size_t len) __nonnull(1) __nonnull(2); int fubyte(const void *base); long fuword(const void *base); diff --git a/sys/sys/uio.h b/sys/sys/uio.h index 3bcc42e8bcf..82c78ae3b42 100644 --- a/sys/sys/uio.h +++ b/sys/sys/uio.h @@ -89,9 +89,10 @@ void uio_yield(void); int uiomove(void *, int, struct uio *); int uiomove_frombuf(void *buf, int buflen, struct uio *uio); int uiomoveco(void *, int, struct uio *, struct vm_object *, int); -int copyinfrom(const void *src, void *dst, size_t len, int seg); -int copyinstrfrom(const void *src, void *dst, size_t len, - size_t *copied, int seg); +int copyinfrom(const void * __restrict src, void * __restrict dst, + size_t len, int seg); +int copyinstrfrom(const void * __restrict src, void * __restrict dst, + size_t len, size_t * __restrict copied, int seg); #else /* !_KERNEL */