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

remoteproc: 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://lore.kernel.org/r/20250611-restricted-pointers-remoteproc-v1-1-f059097ba663@linutronix.de
Signed-off-by: Bjorn Andersson <andersson@kernel.org>

authored by

Thomas Weißschuh and committed by
Bjorn Andersson
b0dc512a f9262233

+9 -9
+1 -1
drivers/remoteproc/omap_remoteproc.c
··· 1211 1211 oproc->mem[i].dev_addr = data->mems[i].dev_addr; 1212 1212 oproc->mem[i].size = resource_size(res); 1213 1213 1214 - dev_dbg(dev, "memory %8s: bus addr %pa size 0x%x va %pK da 0x%x\n", 1214 + dev_dbg(dev, "memory %8s: bus addr %pa size 0x%x va %p da 0x%x\n", 1215 1215 data->mems[i].name, &oproc->mem[i].bus_addr, 1216 1216 oproc->mem[i].size, oproc->mem[i].cpu_addr, 1217 1217 oproc->mem[i].dev_addr);
+1 -1
drivers/remoteproc/pru_rproc.c
··· 1055 1055 pru->mem_regions[i].pa = res->start; 1056 1056 pru->mem_regions[i].size = resource_size(res); 1057 1057 1058 - dev_dbg(dev, "memory %8s: pa %pa size 0x%zx va %pK\n", 1058 + dev_dbg(dev, "memory %8s: pa %pa size 0x%zx va %p\n", 1059 1059 mem_names[i], &pru->mem_regions[i].pa, 1060 1060 pru->mem_regions[i].size, pru->mem_regions[i].va); 1061 1061 }
+1 -1
drivers/remoteproc/remoteproc_core.c
··· 699 699 return -ENOMEM; 700 700 } 701 701 702 - dev_dbg(dev, "carveout va %pK, dma %pad, len 0x%zx\n", 702 + dev_dbg(dev, "carveout va %p, dma %pad, len 0x%zx\n", 703 703 va, &dma, mem->len); 704 704 705 705 if (mem->da != FW_RSC_ADDR_ANY && !rproc->domain) {
+1 -1
drivers/remoteproc/remoteproc_virtio.c
··· 136 136 size = vring_size(num, rvring->align); 137 137 memset(addr, 0, size); 138 138 139 - dev_dbg(dev, "vring%d: va %pK qsz %d notifyid %d\n", 139 + dev_dbg(dev, "vring%d: va %p qsz %d notifyid %d\n", 140 140 id, addr, num, rvring->notifyid); 141 141 142 142 /*
+1 -1
drivers/remoteproc/st_slim_rproc.c
··· 190 190 } 191 191 } 192 192 193 - dev_dbg(&rproc->dev, "da = 0x%llx len = 0x%zx va = 0x%pK\n", 193 + dev_dbg(&rproc->dev, "da = 0x%llx len = 0x%zx va = 0x%p\n", 194 194 da, len, va); 195 195 196 196 return va;
+2 -2
drivers/remoteproc/ti_k3_common.c
··· 450 450 kproc->mem[i].dev_addr = data->mems[i].dev_addr; 451 451 kproc->mem[i].size = resource_size(res); 452 452 453 - dev_dbg(dev, "memory %8s: bus addr %pa size 0x%zx va %pK da 0x%x\n", 453 + dev_dbg(dev, "memory %8s: bus addr %pa size 0x%zx va %p da 0x%x\n", 454 454 data->mems[i].name, &kproc->mem[i].bus_addr, 455 455 kproc->mem[i].size, kproc->mem[i].cpu_addr, 456 456 kproc->mem[i].dev_addr); ··· 528 528 return -ENOMEM; 529 529 } 530 530 531 - dev_dbg(dev, "reserved memory%d: bus addr %pa size 0x%zx va %pK da 0x%x\n", 531 + dev_dbg(dev, "reserved memory%d: bus addr %pa size 0x%zx va %p da 0x%x\n", 532 532 i + 1, &kproc->rmem[i].bus_addr, 533 533 kproc->rmem[i].size, kproc->rmem[i].cpu_addr, 534 534 kproc->rmem[i].dev_addr);
+1 -1
drivers/remoteproc/ti_k3_r5_remoteproc.c
··· 1007 1007 return -ENOMEM; 1008 1008 } 1009 1009 1010 - dev_dbg(dev, "memory sram%d: bus addr %pa size 0x%zx va %pK da 0x%x\n", 1010 + dev_dbg(dev, "memory sram%d: bus addr %pa size 0x%zx va %p da 0x%x\n", 1011 1011 i, &core->sram[i].bus_addr, 1012 1012 core->sram[i].size, core->sram[i].cpu_addr, 1013 1013 core->sram[i].dev_addr);
+1 -1
drivers/rpmsg/virtio_rpmsg_bus.c
··· 901 901 goto vqs_del; 902 902 } 903 903 904 - dev_dbg(&vdev->dev, "buffers: va %pK, dma %pad\n", 904 + dev_dbg(&vdev->dev, "buffers: va %p, dma %pad\n", 905 905 bufs_va, &vrp->bufs_dma); 906 906 907 907 /* half of the buffers is dedicated for RX */