Skip to content
Permalink
Browse files

assert: generate oops if invoked from usermode

User mode isn't allowed to generate a panic and this would
lead to a confusing privilege violation exception.

Signed-off-by: Andrew Boie <andrew.p.boie@intel.com>
  • Loading branch information...
andrewboie authored and nashif committed Jul 18, 2019
1 parent 2d9032e commit 39425eaada193d2de1f4650b5eacea1cead7c6c7
Showing with 12 additions and 3 deletions.
  1. +12 −3 lib/os/assert.c
@@ -24,8 +24,17 @@
*/
__weak void assert_post_action(const char *file, unsigned int line)
{
ARG_UNUSED(file);
ARG_UNUSED(line);
ARG_UNUSED(file);
ARG_UNUSED(line);

k_panic();
#ifdef CONFIG_USERSPACE
/* User threads aren't allowed to induce kernel panics; generate
* an oops instead.
*/
if (_is_user_context()) {
k_oops();
}
#endif

k_panic();
}

0 comments on commit 39425ea

Please sign in to comment.
You can’t perform that action at this time.