* [PATCH] vmxnet3: prevent building with 64K pages
@ 2017-02-17 15:08 Arnd Bergmann
2017-02-17 20:27 ` David Miller
0 siblings, 1 reply; 2+ messages in thread
From: Arnd Bergmann @ 2017-02-17 15:08 UTC (permalink / raw)
To: David S. Miller
Cc: Shrikrishna Khare, VMware Inc ., Arnd Bergmann, netdev, linux-kernel
I got a warning about broken code on ARM64 with 64K pages:
drivers/net/vmxnet3/vmxnet3_drv.c: In function 'vmxnet3_rq_init':
drivers/net/vmxnet3/vmxnet3_drv.c:1679:29: error: large integer implicitly truncated to unsigned type [-Werror=overflow]
rq->buf_info[0][i].len = PAGE_SIZE;
'len' here is a 16-bit integer, so this clearly won't work. I don't think
this driver is used much on anything other than x86, so there is no need
to fix this properly and we can work around it with a Kconfig dependency
to forbid known-broken configurations. qemu in theory supports it on
other architectures too, but presumably only for compatibility with x86
guests that also run on vmware.
CONFIG_PAGE_SIZE_64KB is used on hexagon, mips, sh and tile, the other
symbols are architecture-specific names for the same thing.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
drivers/net/Kconfig | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/net/Kconfig b/drivers/net/Kconfig
index 4c07a067df1d..8a49fedb80ef 100644
--- a/drivers/net/Kconfig
+++ b/drivers/net/Kconfig
@@ -458,6 +458,9 @@ config XEN_NETDEV_BACKEND
config VMXNET3
tristate "VMware VMXNET3 ethernet driver"
depends on PCI && INET
+ depends on !(PAGE_SIZE_64KB || ARM64_64K_PAGES || \
+ IA64_PAGE_SIZE_64KB || MICROBLAZE_64K_PAGES || \
+ PARISC_PAGE_SIZE_64KB || PPC_64K_PAGES)
help
This driver supports VMware's vmxnet3 virtual ethernet NIC.
To compile this driver as a module, choose M here: the
--
2.9.0
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] vmxnet3: prevent building with 64K pages
2017-02-17 15:08 [PATCH] vmxnet3: prevent building with 64K pages Arnd Bergmann
@ 2017-02-17 20:27 ` David Miller
0 siblings, 0 replies; 2+ messages in thread
From: David Miller @ 2017-02-17 20:27 UTC (permalink / raw)
To: arnd; +Cc: skhare, pv-drivers, netdev, linux-kernel
From: Arnd Bergmann <arnd@arndb.de>
Date: Fri, 17 Feb 2017 16:08:30 +0100
> I got a warning about broken code on ARM64 with 64K pages:
>
> drivers/net/vmxnet3/vmxnet3_drv.c: In function 'vmxnet3_rq_init':
> drivers/net/vmxnet3/vmxnet3_drv.c:1679:29: error: large integer implicitly truncated to unsigned type [-Werror=overflow]
> rq->buf_info[0][i].len = PAGE_SIZE;
>
> 'len' here is a 16-bit integer, so this clearly won't work. I don't think
> this driver is used much on anything other than x86, so there is no need
> to fix this properly and we can work around it with a Kconfig dependency
> to forbid known-broken configurations. qemu in theory supports it on
> other architectures too, but presumably only for compatibility with x86
> guests that also run on vmware.
>
> CONFIG_PAGE_SIZE_64KB is used on hexagon, mips, sh and tile, the other
> symbols are architecture-specific names for the same thing.
>
> Signed-off-by: Arnd Bergmann <arnd@arndb.de>
I've applied this to net-next, but...
That is a real messy plethora of Kconfig symbol variants, it would be nice
to consolidate those somehow.
The driver could also chop 64K pages into 32K or smaller pieces and
maintain an appropriate refcnt. Yes, I realize this is probably not
very valuable work for a situation that might never ever occur.
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2017-02-17 20:27 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-02-17 15:08 [PATCH] vmxnet3: prevent building with 64K pages Arnd Bergmann
2017-02-17 20:27 ` David Miller
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).