Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: loopback-test: Don't use %pK through printk

In the past %pK was preferable to %p as it would not leak raw pointer
values into the kernel log.
Since commit ad67b74d2469 ("printk: hash addresses printed with %p")
the regular %p has been improved to avoid this issue.
Furthermore, restricted pointers ("%pK") were never meant to be used
through printk(). They can still unintentionally leak raw pointers or
acquire sleeping locks in atomic contexts.

Switch to the regular pointer formatting which is safer and
easier to reason about.
There are still a few users of %pK left, but these use it through seq_file,
for which its usage is safe.

Signed-off-by: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
Link: https://patch.msgid.link/20250811-restricted-pointers-spi-v1-1-32c47f954e4d@linutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Thomas Weißschuh and committed by
Mark Brown
b832b193 528a813a

+6 -6
+6 -6
drivers/spi/spi-loopback-test.c
··· 446 446 int i; 447 447 u8 b; 448 448 449 - dev_info(&spi->dev, " spi_msg@%pK\n", msg); 449 + dev_info(&spi->dev, " spi_msg@%p\n", msg); 450 450 if (msg->status) 451 451 dev_info(&spi->dev, " status: %i\n", 452 452 msg->status); ··· 456 456 msg->actual_length); 457 457 458 458 list_for_each_entry(xfer, &msg->transfers, transfer_list) { 459 - dev_info(&spi->dev, " spi_transfer@%pK\n", xfer); 459 + dev_info(&spi->dev, " spi_transfer@%p\n", xfer); 460 460 dev_info(&spi->dev, " len: %i\n", xfer->len); 461 - dev_info(&spi->dev, " tx_buf: %pK\n", xfer->tx_buf); 461 + dev_info(&spi->dev, " tx_buf: %p\n", xfer->tx_buf); 462 462 if (dump_data && xfer->tx_buf) 463 463 spi_test_print_hex_dump(" TX: ", 464 464 xfer->tx_buf, 465 465 xfer->len); 466 466 467 - dev_info(&spi->dev, " rx_buf: %pK\n", xfer->rx_buf); 467 + dev_info(&spi->dev, " rx_buf: %p\n", xfer->rx_buf); 468 468 if (dump_data && xfer->rx_buf) 469 469 spi_test_print_hex_dump(" RX: ", 470 470 xfer->rx_buf, ··· 558 558 /* if still not found then something has modified too much */ 559 559 /* we could list the "closest" transfer here... */ 560 560 dev_err(&spi->dev, 561 - "loopback strangeness - rx changed outside of allowed range at: %pK\n", 561 + "loopback strangeness - rx changed outside of allowed range at: %p\n", 562 562 addr); 563 563 /* do not return, only set ret, 564 564 * so that we list all addresses ··· 696 696 } 697 697 698 698 dev_err(&spi->dev, 699 - "PointerRange [%pK:%pK[ not in range [%pK:%pK[ or [%pK:%pK[\n", 699 + "PointerRange [%p:%p[ not in range [%p:%p[ or [%p:%p[\n", 700 700 *ptr, *ptr + len, 701 701 RX(0), RX(SPI_TEST_MAX_SIZE), 702 702 TX(0), TX(SPI_TEST_MAX_SIZE));