Re: [PATCH v2 0/4] Introduce and use absolute_pointer macro

From: Guenter Roeck (linux@xxxxxxxxxxxx)
Date: Wed Sep 15 2021 - 18:33:49 EST


On Wed, Sep 15, 2021 at 12:47:44PM -0700, Linus Torvalds wrote:
> On Wed, Sep 15, 2021 at 12:35 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> >
> > On a side note, we may revive the parisc patch. Helge isn't entirely
> > happy with the other solution for parisc; it is quite invasive and
> > touches a total of 19 files if I counted correctly.
>
> Ok, my suggestion to use the linker was not a "do it this way", it
> really was just a "maybe alternate approach". So no objections if
> absolute_pointer() ends up being the simpler solution.
>
> What other notable issues end up being still live? I sent out that one
> patch for sparc, but didn't get any response to it. I'm inclined to
> just apply it (the 'struct mdesc_hdr' pointer misuse one).
>

You mean allmodconfig build failures ? There is still a bunch.
For v5.15-rc1-27-gb7213ffa0e58:

alpha:

drivers/net/ethernet/3com/3c515.c: In function 'corkscrew_start_xmit':
drivers/net/ethernet/3com/3c515.c:1053:22: error:
cast from pointer to integer of different size

That is a typecast from a pointer to an int, which is then sent to an
i/o port. That driver should probably be disabled for 64-bit builds.

---

drivers/net/wan/lmc/lmc_main.c: In function 'lmc_softreset':
drivers/net/wan/lmc/lmc_main.c:1782:50: error:
passing argument 1 of 'virt_to_bus' discards 'volatile' qualifier from pointer target type

and several other similar errors.

patch:
https://lore.kernel.org/lkml/20210909050033.1564459-1-linux@xxxxxxxxxxxx/
Arnd sent an Ack, but it doesn't look like it was picked up.

---
drivers/net/hamradio/6pack.c: In function 'sixpack_open':
drivers/net/hamradio/6pack.c:71:41: error:
unsigned conversion from 'int' to 'unsigned char' changes value from '256' to '0'

patch:
https://lore.kernel.org/lkml/20210909035743.1247042-1-linux@xxxxxxxxxxxx/
David says it is wrong, and I don't know the code well enough
to feel comfortable touching that code. That may be a lost cause.
"depends on BROKEN if ALPHA" may be appropriate here.

===
arm:

drivers/cpufreq/vexpress-spc-cpufreq.c: In function 've_spc_cpufreq_exit':
drivers/cpufreq/vexpress-spc-cpufreq.c:454:13: error: unused variable 'cur_cluster'

patch:
https://patchwork.kernel.org/project/linux-arm-kernel/patch/20210909184714.153068-1-linux@xxxxxxxxxxxx/

===
m68k:

arch/m68k/mvme147/config.c: In function 'mvme147_hwclk':
arch/m68k/mvme147/config.c:174:2: error: #warning check me! [-Werror=cpp]
174 | #warning check me!
| ^~~~~~~
arch/m68k/mvme16x/config.c: In function 'mvme16x_hwclk':
arch/m68k/mvme16x/config.c:439:2: error: #warning check me! [-Werror=cpp]

drivers/misc/altera-stapl/altera-lpt.c: In function 'byteblaster_write':
arch/m68k/include/asm/raw_io.h:30:32: error:
cast to pointer from integer of different size

[ and several other similar problems ]

Patches should be queued in m68k tree.

===
mips:

In file included from arch/mips/include/asm/sibyte/sb1250.h:28,
from drivers/watchdog/sb_wdog.c:58:
arch/mips/include/asm/sibyte/bcm1480_scd.h:261: error: "M_SPC_CFG_CLEAR" redefined

and similar. Patch:

https://patchwork.kernel.org/project/linux-watchdog/patch/20210913073220.1159520-1-liu.yun@xxxxxxxxx/

I'll need to get Wim to push it.

===
parisc:

arch/parisc/kernel/setup.c: In function 'start_parisc':
arch/parisc/kernel/setup.c:387:28: error:
'__builtin_memcmp_eq' specified bound 8 exceeds source size 0

Waiting for the absolute_pointer patch

===
riscv32, riscv64:

drivers/gpu/drm/rockchip/cdn-dp-core.c:1126:12: error: 'cdn_dp_resume' defined but not used

patch:

https://patchwork.kernel.org/project/linux-rockchip/patch/20200925215524.2899527-3-sam@xxxxxxxxxxxx/

Looks like that and similar patches were submitted several times,
but never picked up.

===
s390:

drivers/spi/spi-tegra20-slink.c:1200:12: error:
'tegra_slink_runtime_resume' defined but not used
drivers/spi/spi-tegra20-slink.c:1188:12: error:
'tegra_slink_runtime_suspend' defined but not used

patch:
https://patchwork.kernel.org/project/spi-devel-general/patch/20210907045358.2138282-1-linux@xxxxxxxxxxxx/

marked as accepted, so should hopefully find its way upstream soon.

---
lib/test_kasan.c: In function 'kasan_alloca_oob_right':
lib/test_kasan.c:782:1: error: 'kasan_alloca_oob_right' uses dynamic stack allocation

and a couple of similar errors. s390 has a special configuration option
to enable warnings on dynamic stack allocations. A patch to remove that
option is pending according to s390 maintainers.

---
drivers/gpu/drm/rockchip/cdn-dp-core.c:1126:12: error: 'cdn_dp_resume' defined but not used

Same as for riscv.

===
xtensa:

Various stack frame errors (more than 50).

drivers/video/fbdev/omap2/omapfb/dss/dsi.c: In function 'dsi_dump_dsidev_irqs':
drivers/video/fbdev/omap2/omapfb/dss/dsi.c:1623:1: error:
the frame size of 1104 bytes is larger than 1024 bytes

Patch:

https://lore.kernel.org/lkml/20210912025235.3514761-1-linux@xxxxxxxxxxxx/

Should find its way upstream through mmotm.

Guenter