From bc600ecc3bdf0f189861dfb840f70c2339a7a853 Mon Sep 17 00:00:00 2001 From: Kimplul Date: Fri, 24 May 2024 13:24:27 +0300 Subject: rename common to src + I keep starting to type src and wondering why autocomplete won't work, I guess src is just uncounciously a better name --- common/canary.c | 42 ------------------------------------------ 1 file changed, 42 deletions(-) delete mode 100644 common/canary.c (limited to 'common/canary.c') diff --git a/common/canary.c b/common/canary.c deleted file mode 100644 index 4f1f8ba..0000000 --- a/common/canary.c +++ /dev/null @@ -1,42 +0,0 @@ -/* SPDX-License-Identifier: copyleft-next-0.3.1 */ -/* Copyright 2023 Kim Kuparinen < kimi.h.kuparinen@gmail.com > */ - -#include -#include - -/** - * @file canary.c - * Kernel stack canary implementation. - */ - -/** Typedef for canary value type. */ -typedef uint32_t canary_t; - -/** Canary magic value. */ -static const canary_t canary = 0xb00b1e5; - -/** - * Helper for calculating the canary location of \p t. - * - * @param t \ref tcb to calculate canary position of. - * @return Pointer to canary location, that is bottom of stack. - * \todo This assumes that all stacks grow downwards. Unlikely to ever be - * ported to a platform that doesn't abide by this, but keep it in mind anyway. - */ -static canary_t *get_canary(struct tcb *t) -{ - size_t s = order_size(KERNEL_STACK_PAGE_ORDER); - return (canary_t *)align_down((uintptr_t)t, s); -} - -void set_canary(struct tcb *t) -{ - canary_t *c = get_canary(t); - *c = canary; -} - -bool check_canary(struct tcb *t) -{ - canary_t *c = get_canary(t); - return *c != canary; -} -- cgit v1.3