Re: [PATCH v5] staging: gpib: Fix i386 build issue

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 12/10/24 01:02, Geert Uytterhoeven wrote:
Hi Greg,

On Tue, Dec 10, 2024 at 9:39 AM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
On Tue, Dec 10, 2024 at 08:52:08AM +0100, Geert Uytterhoeven wrote:
On Mon, Dec 9, 2024 at 5:18 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
The underlying problem is that the code uses a pointer to store the physical
address. That doesn't work if sizeof(pointer) < sizeof(physical address),
which affects systems with X86_PAE enabled. I have not seen the problem
anywhere else.

I could reproduce the build issue on ARM, with CONFIG_ARM_LPAE=y,
which is not enabled by allmodconfig.

I think it may actually also affect mips (CPU_MIPS32_R5_XPA) and arc
(ARC_HAS_PAE40).


So does that mean this patch is incorrect?

Purely from an arch-agnostic LPAE PoV, it should be:

     depends on 64BIT || !PHYS_ADDR_T_64BIT


Dave, would you mind submitting another version of your patch with the above
dependencies ?

However, that assumes the driver actually works on 64-bit or non-x86.
Perhaps people keep an old i386 to control their GPIB gear?

The drivers do not use ioremap(), but just cast the PCI resource
addresses to void * pointers. No idea if that works on x86_64.

I did wonder about that as well, but unfortunately it isn't easy
to change, and would most definitely require testing on real hardware.

It will probably crash spectacularly on non-x86...


I'd guess so. However, that isn't something we can address here.
All we can make sure is that the code compiles.

Thanks,
Guenter





[Index of Archives]     [Linux Driver Development]     [Linux Driver Backports]     [DMA Engine]     [Linux GPIO]     [Linux SPI]     [Video for Linux]     [Linux USB Devel]     [Linux Coverity]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux