Re: [PATCH] signal/sh: Stop gcc warning about an impossible case in do_divide_error

From: Sergei Shtylyov
Date: Wed May 30 2018 - 03:55:10 EST


Hello!

On 5/29/2018 6:00 PM, Eric W. Biederman wrote:

Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> reported:
HOSTLD scripts/mod/modpost
CC arch/sh/kernel/traps_32.o
arch/sh/kernel/traps_32.c: In function 'do_divide_error':
arch/sh/kernel/traps_32.c:606:17: error: 'code' may be used uninitialized in this function [-Werror=uninitialized]
cc1: all warnings being treated as errors

It is clear from inspection that do_divide_error is only called with
TRAP_DIVZERO_ERROR or TRAP_DIVOVF_ERROR, as that is the way
set_exception_table_vec is called. So let gcc know the other cases
should not be considered by returning in all other cases.

This removes the warning and let's the code continue to build.

Lets. :-)

Reported-by: Geert Uytterhoeven <geert@xxxxxxxxxxxxxx>
Fixes: c65626c0cd4d ("signal/sh: Use force_sig_fault where appropriate")
Signed-off-by: "Eric W. Biederman" <ebiederm@xxxxxxxxxxxx>
[...]

MBR, Sergei