lkml.org 
[lkml]   [2017]   [Aug]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 3.18 46/50] vfio-pci: use 32-bit comparisons for register address for gcc-4.5
    Date
    3.18-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Arnd Bergmann <arnd@arndb.de>


    [ Upstream commit 45e869714489431625c569d21fc952428d761476 ]

    Using ancient compilers (gcc-4.5 or older) on ARM, we get a link
    failure with the vfio-pci driver:

    ERROR: "__aeabi_lcmp" [drivers/vfio/pci/vfio-pci.ko] undefined!

    The reason is that the compiler tries to do a comparison of
    a 64-bit range. This changes it to convert to a 32-bit number
    explicitly first, as newer compilers do for themselves.

    Signed-off-by: Arnd Bergmann <arnd@arndb.de>
    Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
    Signed-off-by: Sasha Levin <alexander.levin@verizon.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
    ---
    drivers/vfio/pci/vfio_pci_rdwr.c | 5 ++++-
    1 file changed, 4 insertions(+), 1 deletion(-)

    --- a/drivers/vfio/pci/vfio_pci_rdwr.c
    +++ b/drivers/vfio/pci/vfio_pci_rdwr.c
    @@ -190,7 +190,10 @@ ssize_t vfio_pci_vga_rw(struct vfio_pci_
    if (!vdev->has_vga)
    return -EINVAL;

    - switch (pos) {
    + if (pos > 0xbfffful)
    + return -EINVAL;
    +
    + switch ((u32)pos) {
    case 0xa0000 ... 0xbffff:
    count = min(count, (size_t)(0xc0000 - pos));
    iomem = ioremap_nocache(0xa0000, 0xbffff - 0xa0000 + 1);

    \
     
     \ /
      Last update: 2017-08-05 01:33    [W:4.274 / U:0.176 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site