Re: [PATCH] spi: rockchip: avoid objtool warning

From: Pratyush Yadav
Date: Fri Feb 26 2021 - 03:17:20 EST


Hi,

On 25/02/21 01:55PM, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> Building this file with clang leads to a an unreachable code path
> causing a warning from objtool:
>
> drivers/spi/spi-rockchip.o: warning: objtool: rockchip_spi_transfer_one()+0x2e0: sibling call from callable instruction with modified stack frame
>
> Use BUG() instead of unreachable() to avoid the undefined behavior
> if it does happen.
>
> Fixes: 65498c6ae241 ("spi: rockchip: support 4bit words")
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> drivers/spi/spi-rockchip.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/spi/spi-rockchip.c b/drivers/spi/spi-rockchip.c
> index 936ef54e0903..972beac1169a 100644
> --- a/drivers/spi/spi-rockchip.c
> +++ b/drivers/spi/spi-rockchip.c
> @@ -521,7 +521,7 @@ static void rockchip_spi_config(struct rockchip_spi *rs,
> * ctlr->bits_per_word_mask, so this shouldn't
> * happen
> */
> - unreachable();
> + BUG();

checkpatch says:

Avoid crashing the kernel - try using WARN_ON & recovery code rather
than BUG() or BUG_ON()

Which makes sense to me. This is not something bad enough to justify
crashing the kernel.

> }
>
> if (use_dma) {
> --
> 2.29.2
>

--
Regards,
Pratyush Yadav
Texas Instruments Inc.