From a08a2014300a495381cdb8f6d59523bcd5d3b883 Mon Sep 17 00:00:00 2001 From: Daniel Boulby Date: Fri, 22 Jun 2018 14:16:03 +0100 Subject: Ensure the flow through switch statements is clear Ensure case clauses: * Terminate with an unconditional break, return or goto statement. * Use conditional break, return or goto statements as long as the end of the case clause is unreachable; such case clauses must terminate with assert(0) /* Unreachable */ or an unconditional __dead2 function call * Only fallthough when doing otherwise would result in less readable/maintainable code; such case clauses must terminate with a /* Fallthrough */ comment to make it clear this is the case and indicate that a fallthrough is intended. This reduces the chance of bugs appearing due to unintended flow through a switch statement Change-Id: I70fc2d1f4fd679042397dec12fd1982976646168 Signed-off-by: Daniel Boulby --- services/spd/tlkd/tlkd_common.c | 4 ++-- services/spd/tspd/tspd_main.c | 1 + 2 files changed, 3 insertions(+), 2 deletions(-) (limited to 'services/spd') diff --git a/services/spd/tlkd/tlkd_common.c b/services/spd/tlkd/tlkd_common.c index d846269b9..6fec91bca 100644 --- a/services/spd/tlkd/tlkd_common.c +++ b/services/spd/tlkd/tlkd_common.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2015-2017, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2015-2018, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -48,7 +48,7 @@ uint64_t tlkd_va_translate(uintptr_t va, int type) ats12e0w(va); break; default: - assert(0); + assert(0); /* Unreachable */ break; } diff --git a/services/spd/tspd/tspd_main.c b/services/spd/tspd/tspd_main.c index 3ec98d687..d2acda8d9 100644 --- a/services/spd/tspd/tspd_main.c +++ b/services/spd/tspd/tspd_main.c @@ -592,6 +592,7 @@ static uintptr_t tspd_smc_handler(uint32_t smc_fid, SMC_RET3(ns_cpu_context, x1, x2, x3); } + assert(0); /* Unreachable */ /* * Request from the non-secure world to abort a preempted Yielding SMC -- cgit v1.2.3