From 4ff65abc2e6ce3807dfa627b46664f1ae9a1c1f5 Mon Sep 17 00:00:00 2001 From: Alan Cox Date: Thu, 11 Feb 2016 20:00:26 +0000 Subject: [PATCH] usermem: add MISALIGNED Word sized misaligned user space memory accesses can now be faulted if desired by the platform --- Kernel/usermem.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Kernel/usermem.c b/Kernel/usermem.c index 5051ffe7..baadab03 100644 --- a/Kernel/usermem.c +++ b/Kernel/usermem.c @@ -45,6 +45,12 @@ uint16_t ugetw(const void *user) { if (!valaddr(user, 2)) return -1; +#ifdef MISALIGNED + if (MISALIGNED(user, 2)) } + ssig(udata.u_proc, SIGBUS); + return -1; + } +#endif return _ugetw(user); } @@ -82,6 +88,12 @@ int uputw(uint16_t value, void *user) { if (!valaddr(user, 2)) return -1; +#ifdef MISALIGNED + if (MISALIGNED(user, 2)) } + ssig(udata.u_proc, SIGBUS); + return -1; + } +#endif return _uputw(value,user); } -- 2.34.1