Re: [PATCH] spi: rockchip: avoid objtool warning
From: Arnd Bergmann <arnd@kernel.org>
Date: 2021-02-26 09:51:12
Also in:
linux-rockchip, linux-spi, lkml
On Fri, Feb 26, 2021 at 9:16 AM 'Pratyush Yadav' via Clang Built Linux [off-list ref] wrote:
Hi, On 25/02/21 01:55PM, Arnd Bergmann wrote:quoted
From: Arnd Bergmann <arnd@arndb.de> 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@arndb.de> --- 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.
I thought about rewriting it more thoroughly when I wrote the patch, but
couldn't come up with a good alternative, so I did the simplest change
in this direction, replacing the silent crash with a loud one.
Should we just dev_warn() and return instead, hoping that it won't do
more harm?
The backtrace from WARN_ON() probably doesn't help here.
Arnd
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel